I recently made the horrible, horrible mistake of adding JavaScript support to my eclipse project. After a bit of searching around I found absolutely no help on how to reverse this. The answers I found basically said that once a kind of support/nature is added to a project, you are just up the creek. Reversing it is nigh on impossible.
Not so! Rejoice!
Here is my project file that gave me so much trouble:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>blah blah blah</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.groovy.core.groovyNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>
Okay, kids. Can you take a SWAG at what to remove? Yeah, I thought so. You are now one up on official responses from the Eclipse project.
I removed the obvious buildCommand element-block (…javascriptValidator) as well as the jsNature nature element. A rebuild of my project no longer brought eclipse to its knees.
On another note, a super cool thing is that when I created this project, it did not have Groovy support. Guess what I did to add that. Of course, this isn’t official, and certainly not supported. But it worked because I have the necessary plug-ins installed.
As a side note, it very well may be the case that there is detritus left behind. Simply removing these elements may not completely clean up what “Right-Click-on-project | Configure | Convert to JavaScript Project…” may have added for files. However it turned off eclipse from doing a lot of extra parsing and compiling that caused garbage collection and loop errors. (Yep, I tried fixing those errors first, but it seems that with the volume of js files I have that eclipse just cannot handle that.)