Eclipse Instantly detect external file change - java

I am using eclipse bndtools plugin to develop OSGi based web application.
I am using Eclipse IDE (because of bndtools) and Jetbrain Webstorm IDE to edit the html/css/js files.
When I change files in eclipse, the bndtools refresh the bundle and I can see the changes immediately, but when I edit files using Webstorm I need to refresh the project in eclipse in order to see the result.
NOTE: I have enabled the Eclipse workspace setting Windows > Preferences > General > Workspace > Refresh using native hooks or polling and Refresh on access
. But this will only enable eclipse to detect changes when I access the files in eclipse.
To speed up my development, I don't want to refresh the project using eclipse on every changes I make in Webstorm. I am asking if there is a way to avoid it.
Thanks

The option "Refresh using native hooks or polling and Refresh on access" just do what you are asking for.
The option "Refresh on access" only refresh the file when you access it (when opening the file, or if the file is open in an editor).
Tested in Eclipse Photon.

Related

Refresh Eclipse project on file save in Atom

I am using Eclipse (Version: Luna Service Release 2 (4.4.2)) because I have to (my team uses it for SVN purposes) and I am editing the CSS and .jsp files in Atom (the Github's text editor). Whenever I change and save a file in Atom I have to go and manually refresh the project in Eclipse for changes to appear. This is very time-consuming and I am not sure if I can fix this.
I have tried both refresh on access and refresh via native hooks ...
Any Ideas?
I'm using the latest Atom with Eclipse Mars (4.5.1) and Tomcat as the web container. Setting both
General -> Workspace -> Refresh using native hooks or pooling
and
General -> Workspace -> Refresh on access
works for me. It is described at Can Eclipse refresh resources automatically?.

Automatically reload Java AppEngine Maven project after making changes

Is it possible to automatically reload a Java AppEngine project (which uses Maven) after making changes to the code? I.e. after making a change to the code (such as a JSP) I'd like to see those changes straight away in a web browser without having to re-run the project. Is this possible?
I have done the following:
Created a Maven project using the Google's tutorial
Imported it into Eclipse using Google's instructions.
Enabled the "Build Automatically" setting on my project in Eclipse (which this article suggests is required).
Run the dev server inside the ear project (mvm appengine:devserver)
However, changes to JSPs aren't automatically reflected when I view the page in a web browser. I can only see the changes by installing (mvn clean install) and then re-running the dev server.
Projects created using the Google Eclipse plugin reload automatically however, I'd prefer to use Maven as it'll make it easier to install other software (such as the Spring Framework).
I think I've got to the bottom of this:
Import only the web Maven project (not the main project) into Eclipse (as suggested in the Eclipse Web Tools documentation)
Create a server as per Google's documentation. The web site should automatically reload 15 seconds after you make a change to the code. To change this...
Open the "servers" tab, right-click on your server and select "open".
Expand the "Publishing" section and decrease the value for "Automatically public after a build event.
Note: the "auto scan for resources change setting" doesn't seem to make any difference.

How to Open and edit file outside eclipse workspace, while having the file in sync with Eclipse?

I am opening and editing a file (in my Eclipse plugin), in the filesystem by using java.io.File. But everytime i edit it, the Eclipse is out of sync with that resource! So after my code edits it, if user tries to operate on it in the UI, Eclipse says resource out of sync! I know refreshing the file in UI will work but everytime doing that will be annoying!
Is there any way to open the resource in such a way that eclipse is in sync with the file?
refreshLocal API is not useful for me!!
Try Preferences > General > Workspace and select the Refresh using native hooks or polling check box.
The Filesync plugin worked fine for me. It is configurable. No manual refreshing needed.

Play Framework 2.1 Java/Eclipse: Auto-Reload not working

The Problem/s:
Views are being compiled but hitting refresh in a browser won't show the changes without restarting the server manually.
Changes to controllers compile automatically using ~run but only a manual server restart will update the content on the server.
Changes to routes under conf are only shown after manually restarting the server.
Background:
running on OSX 10.8.3
using Eclipse Juno 4.2.2
Server is launched using play ~run
Only restarting the server will show changes to views, controllers, routes
To be able to make changes without having to restart the server each time I tried (without success):
in the console: clean -> eclipse -> ~run
in the console: clean -> compile -> ~run
shutdown/restart the computer
Tick Refresh using native hooks or polling -> remove classes_managed from Referenced Libraries and add it manually
Questions:
How can the Auto-Reload functionality be restored?
How can this problem be solved on IDEs besides Eclipse?
Further information:
Playframework reload not working Mac OSX
Auto-reloading with Play framework on a network filesystem
Both of them point to JNotify as the cause for auto-reloading not to work. One of the answers (not enough rep to write a comment) mentions how one could "hack Play framework's sbt plugin to make the PlayReloader trait behave as if JNotify wasn't available." How could one achieve this?
The following got Play's auto-reload to working with Eclipse:
In Eclipse Preferences go to General → Workspace. Uncheck Build automatically.
Restart OS X.
For whatever reason, I had to restart OS X to get akim's suggestion to take hold.
I got around this problem by changing the project configuration in Eclipse. I unchecked the "Allow output folders for source folders" option, which means that Eclipse will compile classes to the "bin" folder. This prevents the Eclipse compilation from interfering with the Play compilation. The only downside is that you have to remember to redo it if you ever do play eclipse again.
Following akim's suggestion, disabling Build automatically under General\Workspace in the Eclipse Preferences solves the problem and re-enables Play!'s auto-reload functionality in all of the above problem cases.

How can I disable "Initialize Java Tooling" on Eclipse startup?

In our application which is a Eclipse plugin, when Eclipse starts it takes long time and the users are seeing "Initialize Java tooling" message on the left down corner of application. Because our users don't have anything to do with java, I wonder if it is possible to disable Initialize Java tooling.
Another question: What is Initialize Java tooling?
Try to terminate eclipse then backup and delete the folder
.metadata/.plugins/org.eclipse.core.resources/.history
Restarting eclipse will not hang the Java Tooling process.
from Command prompt just type
eclipse.exe -clean
The java-tooling implement a Java IDE supporting the development of any Java application, including Eclipse plug-ins. It adds a Java project nature and Java perspective to the Eclipse Workbench as well as a number of views, editors, wizards, builders, and code merging and refactoring tools. The Java-tooling provides a development environment to developer.
how to disable plugin at startup
you can try disabling the java-tooling while launching the application.I am giving you a snapshot.
go find perspective as Window->Preferences->Run&Launching->java Application-> and make debug an run combobox to none value.
Hope this can solve your problem.
In case of Eclipse Oxygen, this settings can be found at:
Eclipse > Preferences > Run/Debug > Launching > Perspectives > Java Application > Eclipse JDT Launcher
There will be a folder .metadata in your project workspace directory. Just delete the .log files in it and restart eclipse.
Just uncheck "Build Automatically" and force quit Eclipse. Then start it again.
Project>Build Automatically - uncheck
-force quit
-start Eclipse
I know kind of late advice but because I have this issue 3 days now and I am very very frustrated....just have a copy of your eclipse IDE "virgin" as much possible to rerun it. And any plugin you want to have just do it on a direct copied version of this "virgin" eclipse. This is the only way to get away with clumsy plugins and staff under the hood that you cannot control.
It's devastating to import the projects all the time from the start or deleting the metadata folders....
Is to remove or rename the .projects folder in .metadata/.plugins/org.eclipse.core.resources in the workspace folder. This doesn’t seem to affect any project and the .project folder will be recreated when Eclipse restarts

Categories