I'm having a project in BusinessEvents Studio (Eclipse) that I'm slowly turning into a Maven project. I've added m2e to BusinessEvents Studio and given the project a POM. Regardless of being in the "Studio Explorer" or the "Package Explorer" my target folder is shown in the tree (though being set to "Derived"). That in itself is fine by me, though it looks odd.
Now my BusinessEvents Studio has gotten in a loop where it seems to run Maven (m2e), which writes to the target folder, sees that something is written in the target folder and subsequently rerunning Maven (m2e). It even does so when checking "Build Automatically" to off.
Note that the reason for Mavenizing is an attempt to unit test things, so there is a purpose for having Maven run alongside BusinessEvents.
This loop is annoying, but also I want to have Maven do more incremental build tasks, effectively introducing a lot of idle waiting for me, the developer, being made worse by this loop.
Your help much appreciated!
It seems that this is caused to the following Eclipse issue:
"Windows 7 Libraries trigger rebuilds"
When I turned off "Refresh using native hooks or polling" (Preferences, General, Workspace) this behavior was over.
It is thus not a BusinessEvents Studio-specific issue. It is also not a m2e-related issue. Using any kind of non-trivial Maven POM makes is more visible, though.
(I think Bug 342931 is definitely worth upvoting: in my personal opinion the auto-refresh is a very happy feature of Eclipse. I've had so many times Eclipse being out of sync with the file system after using tools like TortoiseSVN to mess with my work space outside of Eclipse.)
Related
Is there a foolproof simple method to run and debug a Simple (tutorial level) Maven Web App in a local apache tomacat server from Eclipse Mars?.
I am developing a web app and I am able to run it sometimes, and sometimes not, and I am able to debug it sometimes, and sometimes not. Its a bit frustrating.
My current preference is to run the project from a Maven configuration having as goal tomcat:run. It builds and runs always, but it wont debug, i.e. if I place a breakpoint within my Java code in the servlet code, it is not reached. (some times it is reached the first time I run the project, but then it fails to find the source code of some file, and stops breaking for the subsequent runs...)
I have tried also "Debug on Server" configuration, but then, in that case I had to run a Maven install before running the project or, otherwise, some classes would not be found. And that also stopped working now. It just cant find some of the classes from src, although the Web Deployment Assembly configuration has the source being deployed into WEB-INF/classes.
(you may have been downvoted because there are a few questions lumped in to one. I'll try to answer them all because I'm all too familiar with your pain)
Eclipse's maven integration is notoriously flaky when it comes to debugging webapps, even with MARS. You can indeed use tomcat6:run or tomcat7:run for webapps. Here's a few 'best practices' that keep me sane:
Always execute 'clean' as part of the goal.
Make sure you follow the standard maven WAR project layout. You can break from this but have to be careful to specify all the overridden paths for META-INF etc.
When you stop/kill the process in Eclipse, you will often find that the process actually continues running but has detached itself from eclipse.exe as a parent process. You need to manually kill the java.exe process or you'll find 'port already in use' errors. ProcessExplorer is very useful for keeping an eye on this.
When you hit a breakpoint and it says 'source not found', there are a few things you can try.
Add your maven installation under window-preferences - maven/installations. Set this as the default one.
In your run configuration, make sure that you are using your system installation instead of the embedded one.
When you hit a breakpoint, close the editor and then reopen it by clicking on the point in the debug tree.
So you are trying to debug a maven project with goal "tomcat:run" in Eclipse and the application is breaking at the breakpoints set but you are getting "Source not found" error.
Follow the below steps to fix this:
Go to your debug configuration
In the Main tab, make sure you have "Resolve Workspace artifacts" checked
Make sure the Base Directory is set as your maven project
In the Source tab, make sure you have added your project as a "Java Project" or "Workspace" or "Project"
Step 4 is important, Add -> Java Project/Project and select your project
I use eclipse Indigo, subclipse 1.10.x and javaNL. Whenever I try to refresh my project in eclipse, it gets stuck at Reverting Resources 0% and Computing Update Requirements 0%. I try to kill eclipse and reopen the project and it still does the same. I do not understand why this happens. It started happening recently. Before it was working fine.
Question: I do not understand why this happens
General Answer: http://www.ihateeclipse.com/
(I may share this opinions and dont think Eclipse should be called a IDE but that wont fix your problem - hence lets proceed with possible workarounds).
Possible Workarounds:
1.) Starting eclipse in clean mode How to run eclipse in clean mode? and what happens if we do so?. (This solved aprox. 80% of my continuously returning 'I messed up my own state' issues I experienced).
2.) If that doesnt help - you would have to stop eclipse, identify the according files (or just any files holding such information) and delete them manually, then restart eclipse. Like I still encounter issues with my "Search Type" (Ctrl+T) and have to delete the files like described here Eclipse type hierarchy not always working (unfortunately I don't know anything about files regarding your current issue - so feel free to downvote my "answer" since its not directly answering your question).
The best things I found about "the full reset" seem to be: http://letsgetdugg.com/2009/04/19/recovering-a-corrupt-eclipse-workspace/ or http://blog.pdark.de/2011/09/02/restoring-a-corrupted-workspace-in-eclipse/ (Note: I haven't verified the described behaviors).
3.) Recreate Workspace - delete any eclipse belongings like the .metadata folder and keep only belongings of your project (e.g. sources, resources etc.). Then create a new eclipse project based on you existing project sources).
4.) If Steps 1-3 failed consider reinstalling Eclipse (include above Step 3 in this process again) or switching to a proper IDE that can at least handle its own state.
5.) I experienced rare cases where in the end such things were triggered by me rather than occurred magically out of nowhere by eclipse - I don't see any possibility on how you could manage that in your case unless you messed around with the eclipse source itself).
Hope this helps - Even thus the SO community is big I experienced way better results asking the eclipse developer community directly when it came to such specific issues (you however oftenly get a link to a open Bug ... that they created because of your question) and ended up "just importing into a new eclipse workspace from existing sources" whenever I experienced such issues lately (It takes me about 5 minutes to checkout our sources, start Eclipse with -clean as default and import existing Maven projects solving any eclipse-only issue - while each of those eclipse-issues can take days to be solved without any further advantage for my daily business)
I don't know if this will help any one but I had the same issue. Some links advised me to delete my metadata, which I did not want to do.
What fixed it for me was:
I have multiple eclipse workspaces, I manually closed my eclipse using the System Monitor/Taskbar as it wouldn't let me close as it was hanging.
I switched workspaces and it seems to run fine. So I switched back to the one that was hanging and the problem seemed to have gone.
This worked for me:
Go to to your workspace instalation, and manually delete the target directory under your maven projects (dont worry , maven will create another one when compiling). This removed my stuck Eclipse state (thread) in "Revert sources", always at 0%.
this helped me:
delete files "*.snap" under org.eclipse.core.resources in
worskpace/.metadata/.plugins/org.eclipse.core.resources/
and share project again (setup SVN settings)
I accidentally checked in target files to SVN. And the target files were huge ans hence it was stuck on reverting resources. Once I deleted those target files from SVN this issue never happened.But JBA's answer is pretty comprehensive so I will mark that as a right answer.
I have this same issue, and I just quickly cancel the "Rerverting Resources" task while it's in "waiting" mode when restart Eclipse.
This should work to 100% and helped in my case (no other tried solution worked):
Go to "Eclipse > Help > About Eclipse IDE > Installation Details
Uninstall the following packages "Subclipse", "Subclipse Integration for Mylyn", "Subversion 1.14 JavaHL", "Subversion Revision Graph", "SVN Client Adapter".
pluginsToUninstall
Go to the marketplace and install "subclipse" again.
Rightclick on your project > Team > Refresh/Cleanup
You are welcome. :)
I created a projects group for maven projects. Maven being able to build subprojects, there actually are dozens and dozens of sub-subprojects.
Now I have 405 projects open on Netbeans and I cannot use it anymore because when I start it, the system runs indefinitely trying to perform "opening projects" and eventually running out of memory when it goes in the build phase.
I'd like to start Netbeans again without all those 400+ projects. How to do so?
In case it's needed, I use Netbeans 7.4 on MS-Windows 7.
Edit: a now-deleted answer suggested me to close individually each project. This is not possible as the "close project" action is queued for after the build.
I tried to delete the netbeans folders one by one and succeeded quite early. What I did was delete the whole %APPDATA%\Roaming\NetBeans\7.4\config\Preferences folder, though the precise information of the opened project at startup seems to lie in %APPDATA%\Roaming\NetBeans\7.4\config\Preferences\org\netbeans\modules\projectui.properties.
After installing the AspectJ Development Tools into Eclipse, the "Run" button and the Ctrl-F11 shortcut both become nearly useless: using them (or the Debug button) will throw an "Editor does not contain a main type" error message, even for projects that do not require a main type to be present (eg. Android application projects). Standalone Java projects with a proper main type defined work fine - so it seems AJDT is forcing Eclipse to check for a Java main() without checking the project type first. Whether or not the project is an AspectJ project makes no difference, either.
The problem only appears when the file you are currently editing has either ".java", ".aj" or ".class" anywhere within its filename (note: it doesn't actually have to end with those extensions, as long as it's anywhere in there - readme.txt will work, readme.java.txt won't).
Two ways I've found to work around this - regardless of whether or not it's an AJ project - after installing AJDT is:
Select a file within your project in the Package Explorer whose name doesn't contain .java, .class or .aj, and then hit Run (the Package Explorer has to remain active and selected).
Create a new Run Configuration for your project, and use it to launch your project. This still adds a pointless extra step, as well as being impractical for those who work with a lot of projects.
I've tried this on both Eclipse Juno and Helios (Windows XP x86 as well as Win7 x64), the result is the same. While it might seem like nitpicking it certainly isn't: AJDT is hijacking the most frequently used function of the IDE.
I've resorted to having two different Eclipse installations with their own separate workspaces on my work PC, one with AJDT installed, and one without, so I can use the IDE properly when I'm not working on anything AJ-related. Since my company is working on a project that would require other developers to install AJDT into their IDEs, this is a significant issue for us that goes beyond our own loss of time - I can't imagine a lot of developers would be willing to put up with a significant bottleneck being added to their workflow for absolutely no reason at all. So most likely, they will just ditch our product instead!
Update: This has been identified to be a bug inside AspectJ, and has been reported to the AJ development team. You can keep track of it here: https://bugs.eclipse.org/bugs/show_bug.cgi?id=399660
As of this writing, the bug has already been partially fixed, restoring Run functionality to non-AJ-enabled projects.
I was just coming on this site to ask the same question. While I don't have an answer for why this is going wrong, I have a workaround which is helping me currently:
Go to Preferences > Run/Debug > Launching and select Always launch the previously launched application. This will introduce bearable behaviour when working on a single project. You will need to manually create a run configuration for your main class.
I keep running into a strange intermittent issue with eclipse for the past few days where I will be editing code, save it, and then eclipse starts reporting hundreds (or sometimes thousands) of MyClassName cannot be resolved to a type errors. The errors are completely bogus as the classes do exist, and if I do a clean and rebuild on the entire workspace the issue goes away. This is the second workspace in a row that it has suddenly happened to.
Has anyone else ever run into this before? Is there some way to fix this issue without recreating an entirely new workspace (which is extremely frustrating). I'm not entirely sure what keeps happening to seemingly corrupt my workspaces.
[Update]
For clarification this is happening with multiple projects that are all Java (web application) projects using only the standard 'Java Builder.'
Debugging Eclipse gone wrong is a painful task. I make it a routine habit to reinstall it, sad but true. The Eclipse Plugin framework tends to lead to these kinds of interactions . You don't mention what version of Eclipse and if it is EE or standard.
So, I'd suggest you try a fresh install of Eclipse. Another thing to try is change the JVM you are using to run Eclipse. The most widely used and tested JVM is still Sun/Oracle Java6.
I have had the best results using the standard version of Eclipse and only adding the EE stuff as needed, ie the Web Developer Tools.
If this happens on Windows with a virus scanner being installed, you may want to try excluding your workspace directory from the on-access scanner. I have two colleagues who get very annoying (and not reproducable) build errors quite often, as long as their TrendMicro virus scanner is enabled.
Happened to me with Eclipse Neon after git merge with multiple confilicts, I solved the issue with deleting and re-importing my project.