Grails regenerate Eclipse project - eclipse

I just upgrade Grails to 1.2.0. How can get Grails to regenerate the Eclipse .classpath file? It's currently pointing to the old Grails' JARs.

Right-click on the project node and select Configure|Convert to Grails Project. It'll setup a "Grails Dependencies" library pointing to the Grails jars, and it'll setup links to your plugin libs and folders. You will lose the entries for jars in the lib dir - my guess is that there's an assumption that you'll use Ivy for dependency management.

there is an option to upgrade grails using command line. "grails upgrade"
That should upgrade your app..
before that you need to change your grails_home variable to point to your latest version.
Hope it helps.

Right click on the project name in the "Project Explorer" -> choose "Properties"
In the "Properties for window, look for the grails option on the left side.
Once in there, there should be a drop down for the grails version that the project was initially confugured/imported with. This should be changed to your new version.

Related

Eclipse- Maven -Spring

I installed eclipse Luna.At that time Maven option was displayed in window-- preferences.Later i install spring ide.After installation maven got disappeared.pls help me to come out of this
Eclipse is well known for working oddly despite the correct settings and configuration. (As most of free IDEs').
Try to click to your project, then Configure and select Convert to Maven project.
Also clicking to your project and selecting the Clean may help since it removes all the files that are generated automatically.

In Eclipse / STS / maven, where do I define the deployed servlet name?

I have the Eclipse (STS) with Maven installed. I've named the project ExchangeBoardRest. When I run the program from the embedded VMWare tc server it deploys to localhost:8080/ExchangeBoardRest/index.jsp, etc. I don't want it there but in localhost:8080/exchangeboard/index.jsp.
I'm not seeing where I can change this. I figured perhaps the pom.xml would do this for me (I update the maven project right afterwards). I don't have ExchangeBoardRest in any interesting text files (just in .settings, .project).
I don't want to have to edit the server.xml that VmWare tc creates. Is there something easy I'm missing?
Thanks,
Jerome.
I'm not using STS, but Eclipse and m2e with WTP. But I guess it's the same thing:
Right-click on the project in the project explorer and select Properties.
Locate Web project settings
Change Context root setting as you desire.

Missing Maven Dependencies Folder in Spring Tool Suite

I'm currently attempting to configure a Maven project in Spring Tool Suite for use with Tatool. I was watching this tutorial video and my project is identical to his after it is created except for the fact that it is missing a Maven Dependencies folder and I am also unable to "create" new dependencies (although I can add them). What gives?
Apologies in advance for the elementary nature of this question, but I'm new at this.
I am guessing that either:
Your project is not a maven project. Right click on project -> Configure -> Convert to maven project
You do not have m2e installed. Open STS dashboard, click extensions at bottom and install m2e
Nevermind, resolved it. The tutorial was using an old version of STS which had a "create" button in addition to the "add" button under the dependencies tab of the POM. All I had to do was add a dependency and the folder showed up.

Grails / Groovy / GGTS: Conflicting module versions on run-app

After upgrading a Grails application from 2.2.0 to 2.2.1 I keep getting the following error when attempting to debug a Grails application from GGTS via Debug as... -> Grails Command (run-app):
Error starting Grails: nulljava.lang.ExceptionInInitializerError
at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:62)
at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
at groovy.lang.Closure.<init>(Closure.java:221)
at groovy.lang.Closure.<init>(Closure.java:238)
at groovy.lang.Closure$1.<init>(Closure.java:205)
at groovy.lang.Closure.<clinit>(Closure.java:205)
at org.codehaus.groovy.grails.cli.GrailsScriptRunner.<clinit>(GrailsScriptRunner.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1243)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)
Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.0.5 and you are trying to load version 2.0.7
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromProperties(MetaClassRegistryImpl.java:186)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromMetaInf(MetaClassRegistryImpl.java:174)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerClasspathModules(MetaClassRegistryImpl.java:156)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:111)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:73)
at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:33)
... 14 more
I'm running GGTS 3.1.0.RELEASE with the Groovy Compiler 2.0 Feature 2.7.1.xx-20120921-2000-e42RELEASE and Groovy/Grails Tool Suite 3.1.0.201210061306-RELEASE-e42. The project has configured Groovy Compiler level 2.0. Eclipse Preferences say "You are currently using Groovy Compiler version 2.0.4.xx-20120921-2000-e42RELEASE".
Any hints?
i had this problem on Grails 2.2.0 on Ubuntu machine , i fixed it with the below steps :
open eclipse go to "Run as" the "Run Configurations"
choose "Environment" tab , then choose "replace native environment with specified environment "
that solved the problem for me .. hope this help
I had the same problem, I was picking up groovy-all 2.0.7 from GGTS and 2.0.8 from my grails project. To resolve the problem I removed the "Groovy Dependencies" library from the eclipse project.
Right click on project -> Properties -> Java Build Path -> Libraries (tab) -> Groovy Dependencies -> Remove
Manually delete the run-app Run Configuration so it gets recreated. This was reported as a bug on Aug. 1st, 2013. Bug report: https://issuetracker.springsource.com/browse/STS-3501
I deleted .metadata in GGTS workspace and reimport project. It works, I can run-app again.
I had the same exception, when I was trying to run JUnit tests on my Spring boot project in Eclipse only, mvn executes them fine. I'm not using Gradle or Groovy. Indeed checking the test's class path upon debug, showed two versions of groovy.jar. The work version of the groovy.jar was picked from other projects in the Eclipse workspace. I was able to fix it by removing Resolve dependencies from Workspace projects in project properties -> Maven
I had the same problem and i solved it by:
For your project: Open Run As->Run Configurations
Go to the Refresh tab
Check the Refresh resources upon completion
Press Run
That did the trick for me.
I solved it by removing the option to manually load the classpath in Run Configuration. It was using the wrong Grails version (2.5.0 instead of 2.5.1).
Basically the wrong classpath was used.
Maybe this brings someone on the correct path :)
I have no explanation why it didn't work, but I found a workaround.
I had another run target configured for the same app, but with a -Dgrails.env=... setting, which I could launch without problems. I simply copied this config and removed the parameter. That way, I basically recreated the simple launch config which previously kept failing.
Problem gone.
For me a compile from the grails command window did the trick
I had the same problem when running it through eclipse and what worked for me is to make the below changes
Go to Project properties -> Groovy Compiler ->configure workspace settings . Uncheck the checkbox "Enable checking for mismatch between project and workspace groovy compiler levels"
Another solution worked for me when Eclipse stopped being able to run my project with the "groovy-all is loaded in version ... and you are trying to load version" error.
Manually removing a groovy-all line from the .classpath fixed it.
<classpathentry kind="lib" path="Libraries/groovy-all-2.1.2.jar"/>
I found the solution in this blog post.
I had the same problem, I went to Project properties -> Groovy Compiler ->configure workspace settings and I clicked on the "Switch to" button that corresponded to one of the two versions in the error message.
I hope this will help
I know this is a GGTS question, but Google led me here and this seems to be a common issue even after several years so I'm posting this answer here. Hopefully it can help other STS users who also land here.
I had this problem with Spring Tool Suite, using Spring Boot Version 1.3.3.RELEASE and gradle version 2.14. There is some internal dependency on groovy 2.4.6 and groovy-all 2.4.6, but my Eclipse workspace Groovy Libraries are version 2.4.7. Removing the Groovy Libraries from the Spring/Gradle project properties(s) works for running those projects, but for other Groovy projects in the workspace you are stuck between a rock and a hard place. They will either run if you click yes when "Errors exist in project. Run anyway?" if you remove the Groovy libs from the properties build path, or they will not have project errors if you put the Groovy libs in the properties build path.
Resolved by adding explicit dependencies in build.gradle on groovy 2.4.7 and groovy-all 2.4.7 for Gradle projects in the workspace
compile('org.codehaus.groovy:groovy:2.4.7')
compile('org.codehaus.groovy:groovy-all:2.4.7')
and (close Eclipse STS) then removing the 2.4.6 folder(s) from the .gradle cache
<path to>\.gradle\caches\modules-2\files-2.1\org.codehaus.groovy\groovy\2.4.6
<path to>\.gradle\caches\modules-2\files-2.1\org.codehaus.groovy\groovy-all\2.4.6
and (Open STS) then right-click gradle project(s)>gradle>refresh gradle project
Now other Groovy projects in the workspace run without the 2.4.6 vs 2.4.7 conflict.
use mvn denpendency:tree to check your dependencies, maybe there exist version conflicts.
When I change the grails project's name it works correctly.
Currently (using Eclipse 2020-06, 4.16.0) none of the above solutions work any more.
Open the Run Configuration of your groovy script
Remove all User Entries from the Classpath tab
Press "Restore Default Entries"
This should add the default classpath containing your specified Groovy version as User Entry.

In Eclipse, "Update Maven Dependencies" is disabled and greyed-out, why?

I'm using Eclipse STS 2.7.1 and created a new Spring Template/MVC project. I deleted the pom file and replaced it with one from another project that has all the dependencies I need. But when I attempt to update the dependencies, the menu option is disabled...why?
Instead of using the Spring Tools maven option, select Maven->Update Dependencies. That should do the trick!