Eclipse - how to start remote debugging without automatically rebuilding - eclipse

[using Eclipse 3.6 and Preferances -> Workspace -> build automatically is disabled]
I have a project setup that includes a number of scripted steps for generating autogen code (jaxb, etc). It also automatically produces and deploys (does not start) my jars to a remote server. Unfortunatly this whole process can take upwards of 2 minutes.
Recently I've been remotely debugging one project by starting it on the remote server with a manual script that enables remote debugging then attaching to the remote debugging session with eclipse. My problem is that even if I have not made any source changes, eclipse performs a rebuild when I start the remote debugging session. This is really annoying. Does anyone know how to start Eclipse's remote debugging without automatically performing a rebuild?

You probably have figured this out, but for sake of future reference, to accomplish this:
Window > Preferences > Run/Debug > Launching. Uncheck build(if required) before launching.

Did you try this:
On "Project" menu, uncheck the "Build Automatically"
The down side is that now you'll have to invoke "Build" manually each time you need.

Related

eclipse annoyances: Debug and Launch toolbars unavailable

I am running Windows XP and Eclipse 4.2.2 Build id: M20130204-1200 and I have lost my Debug and Launch tool bars. I have tried Windows>Reset Perspective (original values) and Window>Customize Perspective's (Tool Bar Visibility and Command Groups Availability) tab options. I have tried the Layout option on Debug view. All failed to bring them back. Right now, I am looking at Tool Bar Visibility tab and a message that says: <"Debug" cannot be made available because it is in the unavailable "null" command group.> However, the Debug checkbox in Command Group Availability is checked.
I have also tried right-click and Reset on the perspective buttons.
Switching to another eclipse installation (same machine) did not help either.
Rebooting does not help.
Are there any text configuration files where this data is stored that can be manipulated outside eclipse?
I had this problem in Eclipse Kepler, it turns out it was caused by PyDev plugin. I fixed it by uninstalling the plugin and right-clicking on the Debug perspective button and selecting Reset.
I had already installed a fresh copy and the problems persisted. But, encouraged by user714965 comments, I tried again but that did not resolve the issue. Then, I threw away all eclipse installation folders (to recycle bin), re-installed fresh copy, and the problem persisted. Then I started a new workspace, and it seemed like the tool bars were back. Then restored previous eclipse installations and they had the Debug toolbar as well!
I am thinking somehow the customization config files were broken. It would be nice to know where the these files are stored (my original question): Are they global for each user on the machine or are they workspace specific? It seems to me that some customizations are global, while others are project specific.
May be it is time to try the new Android Studio :-)
Seems as your eclipse is broken. The fastest way to get it back running will be downloading a fresh copy from eclipse.org. You can continue using your current workspace so your settings will remain. But you have to re-install all plug-ins... I'm always keeping a backup of a fresh release with the plug-ins I'm using. I would suggest you to do the same in the future.

Eclipse workspace issue with CCRC plugin error

Update 28 May 2013:
I have found a work around for this. Though this is not always works MOST of the time it does.
In Eclipse > Preferences > General > Startup and Shutdown
uncheck the option "ClearCase Remote Client plug-in"
Every time I start the problem workspace, before doing anything (like click on any resource or click on project in project explorer) I connect to the ClearCase repository.
This seems to calm down the error most of the time. Also, the Eclipse shortcut that I have on my desktop, has -clean option set in it. So when I start the eclipse my eclipse already starts with the clean up option. Though not sure if it has any bearing on the problem.
However not sure if this will help in a situation when I am working offline; when I can not connect to the ClearCase repository.
Update 21 May 2013:
At this time it looks like there is no resolution for this except a CCRC plugin upgrade.
For now marking VonC's answer as correct. Will update the post if I find a better solution.
I created a fresh new workspace and setup the workspace and so far I do not see any problems so far. Still not sure what was wrong with my workspace though.
==================================================
I have been having this problem for quite sometime on one of the workspace.
Error:
I am seeing the following error pop up with the error message; and will NOT go away.
An error has occurred. See error log for more details.
Could not initialize class com.ibm.rational.team.client.ui.model.common.ImageManager
Symptoms:
It happens only in one work space almost all the time.
Every time I restart this workspace, when ever I click on any projects in project explorer or any open file, it causes the error pop up to come up.
It goes away if I close all files, close the offending project and then delete the project. I fire up eclipse, re-import the project and the issue goes away only as long as I continue using the eclipse. Once I restart the eclipse the same problem persists.
What I have tried so far:
start eclipse with -clean option --> It does not solve the problem.
I have enabled the "Refresh workspace on startup" option in "Eclipse > Preferences > General > Startup and Shutdown" --> this does not solve theproblem.
I deleted the folder "org.eclipse.core.resources" under "Offending_Workspace > .metadata > .plugins" folder --> this has no effect. The problem persists as mentioned in Symptoms3 above.
System Info:
Windows 7 Enterprise Edition 64 bit.
Eclipse 3.7 Java EE developers
CCRC plugin Version: 7.1.0.0 , Build id: 7.1.1.03.00_2010C.D100803
Is there anything that can be done to resolve this. It's frustrating to work with such a broken plugin, that practically hinders ones work.
Any suggestion will be helpful.
This looks like PM38965 and there is no other solution than upgrading:
A fix is available in ClearCase versions 7.1.1.8, 7.1.2.5 and 8.0.0.1
You can see it listed in this release note:
PM38965:
Addresses a ClearCase issue where the ClearTeam Explorer produces a "Could not initialize class com.ibm.rational.team.client.ui.model.common.ImageManager" error intermittently when performing various operations.
The OP reports a workaround:
In Eclipse > Preferences > General > Startup and Shutdown, uncheck the option "ClearCase Remote Client plug-in"
Every time I start the problem workspace, before doing anything (like click on any resource or click on project in project explorer) I connect to the ClearCase repository.
This seems to calm down the error most of the time.
Also, the Eclipse shortcut that I have on my desktop, has '-clean' option set in it. So when I start the eclipse my eclipse already starts with the clean up option.
Though not sure if it has any bearing on the problem. However not sure if this will help in a situation when I am working offline; when I can not connect to the ClearCase repository.
The '-clean' being a local operation, it will have the same effect offline or online.

How to see what triggered "Build workspace" in Eclipse

My eclipse is constantly running "Build Workspace" tasks. It is not a long running builds, more like 1 build a second.
Sometimes I'd see 10 "Build workspace" tasks sleeping and waiting in the Progress tab.
I'd like to know what is triggering those builds. I have many plugins installed.
What is the way to troubleshoot this?
Here are some steps to help you debug what is going on.
Download the Eclipse Classic SDK for whatever version of Eclipse you are currently using. For Juno that link is here.
Open the eclipse.ini for your current normal eclipse and add the following options: -Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
Start your Eclipse instance that you want to debug, it should pause at the splash screen
Unzip the Eclipse classic SDK and start that Eclipse instance
Open the Plugins view
Find org.eclipse.core.resources
Right click and select "Add to Java Search"
Open Type dialog, type in "BuildManager"
You should see a class from that plugin be given as an option, then open it
Find the line that looks like: prereqs = currentBuilder.build(trigger, args, monitor); It should be about line 728 (For Eclipse Juno)
Set a breakpoint here
Create a new Remote Java Application debug configuration and point to localhost port 8000
Launch this debug configuration
You should see your other Eclipse instance startup
Now every time the Eclipse build manager fires off a build (which should happen on all of those Build Workspace jobs), then you will see this breakpoint be hit and you can find out what builder is firing.
Update 1
If you need source to other Eclipse bundles they can also be added in the "Plug-ins" view. Select all the plugins there and right-click and use Add to Java Search
What plugins do you have installed that are currently active?
Press CTRL+3 type "plugin" and then choose plugin registry.
In the plugin view right click and choose "Active Only"
Check the non-essential core plugins (for example related to servers which automatically build & publish)
Post a screenshot of active plugins if you need any more help
You may have build automatically checked which will build when you save. Check under the nav Project > Build Automatically
Other way to close all unused projects.
Further, for good view, use filtering: View Menu -> filters -> Check 'Closed Project'.
Sometimes if you have > 20 opened projects you can observe constant 'build workspace' tendency.

Can Eclipse refresh resources automatically?

Eclipse (3.4.2 with PyDev) deals with out-of-sync resources (files that have been edited outside of the IDE) differently from other IDEs that I've used, where only resources with editors open are considered out-of-sync. In Eclipse, any resource can go out of sync.
This means that when I perform a search after any file has changed outside of Eclipse, I get an error dialog telling me that files are out of sync, even if they have no open editors. As far as I can tell, there is no global refresh command, so I'm forced to read the project names (I have several projects) in the error dialog, and do a right-click + refresh for each of them.
I've checked the Refresh Automatically setting in Settings > General > Workspace, but this has no effect. Is there any way to get Eclipse to always just load non-active resources from disk?
This issue will be fixed in Eclipse 3.7 (Indigo). While "Refresh Automatically" does eventually bring resources back into sync, the refresh hook only exists for Windows, so on Linux and Mac OS it has to poll the filesystem periodically.
From 3.7 there's a new preference Settings > General > Workspace > Refresh On Access (aka Lightweight Refresh). This preference causes Eclipse to automatically refresh resources when it discovers that they're 'out-of-sync'. When opening, reading or searching files, it'll prevent out-of-sync errors from occurring.
See also: https://bugs.eclipse.org/303517
I think if you click on the project node in the Project Explorer and press F5 or right click and select Refresh, all resources for that project will be refreshed. Also, if you CTRL+click on multiple projects, you should be able to refresh multiple projects at the same time.
A single click on a project, a CTRL+A to select everything, and an F5 should do exactly what you need - refresh everything.
I'll have to test this when I get the chance, but I believe this is how I overcame similar problems in the past.
I've noticed that this answer routinely is getting down voted. I'd like to point out that the question refers to a specific version of Eclipse: 3.4.2. There was actually no automatic method to refresh out-of-sync resources until version 3.7 Indigo of Eclipse, as mentioned in James Blackburn's answer. The method described in this answer is the only method to achieve this in version 3.4.2 (and any other version before 3.7 Indigo).
Out of synchronization problem is common in eclipse IDE so you have to check this option windows -> preference -> Workspace -> refresh using native hooks or polling.
Eclipse Helios possesses a built in refresh feature at Preferences > General > Workspace. It's in the same spot where you disable automatic builds. Select refresh automatically. A plugin with the same functionality is Andrei Loskutov's Filesync Plugin. The update site address is: http://andrei.gmxhome.de/eclipse/. During installation, select Eclipse 3.5-3.7 plugins > FileSync.
Given that Java 7 has an api for filesystem hooks, one would think that refresh could be handled better in Eclipse.
Edit: Actually, there is a plugin that uses this mechanism: https://github.com/psxpaul/EclipseJava7Refresher
There is a global refresh - have nothing (or everything) selected in the package explorer and press F5 (or right-click on empty space and select Refresh). Of course, this could take rather long if you have large projects.
The global refresh actually exists in plain Eclipse without any plugins and without selecting every project in your workspace.
Basically you need to deselect everything in your project explorer and hit F5. To do that Ctrl+click the selected resource in the project explorer and hit F5.
A global refresh is really missing in Eclipse. The above procedure with selecting all projects and then running refresh (e.g. F5) does not work if you have closed projects included in your selection. This means, if you have 1/2 of your many projects closed as I do, you find yourself manually Ctrl-clicking through your dozens of projects. This is quite painful. I wish Eclipse would simply ignore closed projects.
Perhaps you should add a feature request on the eclipse site:
https://bugs.eclipse.org/bugs/
I think it would be a great idea to add a preference for automatically refreshing out of date resources.
Yes, Refresh on Access is long overdue ... those answers to this and similar enquires usually suggested enabling the global auto-refresh, which could take an age for large remote projects.
In fact there are those who would say that Refresh on Access should have been the original (< 3.x) default behaviour ...
I managed to solve this by creating a new "external tool" run config that executes a blank batch file. In the run config, you can have it refresh the workspace when complete. Then I created a macro using Practically Macro that 1) executes the last external tool run config (refreshing the workspace), then 2) executes the last debug run config (running my app). If you uncheck "Allocate console" then the completed external tool entry won't show up in the debug window.
Even if the solutions proposed by others perso are indeed correct, you have a "Refresh All" plugin for Eclipse. Simply add the Update page to your Eclipse list of update sites to install it in your IDE.
For Starting up there is an option to automatically refresh files in
Window -> Preferences -> General -> Startup and Shutdown -> Refresh workspace on startup
Click it in order to have a "fresh" start in eclipse. :)
Version: Eclipse 4.12

Stop Eclipse restarting my web app on file save

I'm creating a JSF/Facelets web app in Eclipse. I've configured my project to use a Tomcat (6.0) server that is started/stopped by Eclipse.
Whenever I save a file (eg .xhtml) Eclipse restarts the app, trashing my HTTP session. This is annoying, because I'm frequently updating my .xhtml files, and the app doesn't need restarting to detect the changes.
Is there a way to stop Eclipse restarting the app? Specifically, can I configure Eclipse to only restart the app when I save files of a certain type?
In the server View, double click on your Tomcat instance.
This will open the properties of your Tomcat server.
As I am not sure of which parameter will help you to solve your problem, check the following options in the latter view:
Automatic Publishing, option "Override default settings" selected, 1 second for the publishing interval.
In server options, uncheck options "Server modules without publishing" and "publish module contexts to separate XML files".
In the modules tab, for each modules deployed, check that Auto Reload is enabled.
Hope this will help you.
I have always used this and it works fine for me. The context is reloaded only when you change classes or the web descriptor.
In your project structure where you keep .xhtml files which makes eclipse reload the context on changing?
This can happen if you have a builder in Eclipse set to deploy on save. Right click on your project -> properties -> builders
Turn off "Build Automatically"