I have a problem when trying to compile a project using "grails compile". I get the following error:
| Configuring classpath
| Error Error executing script Compile: startup failed:
_GrailsClasspath_groovy: 17: unable to resolve class
org.codehaus.groovy.grails.compiler.GrailsProjectCompiler
# line 17, column 1.
I am very new with groovy/grails, but I assume this is a problem with some classpath somewhere. However, I can't find any file containing the string "GrailsProjectCompiler" in my project. I tried searching google and stackoverflow for similar problems, but the only one I found (http://grails.1312388.n4.nabble.com/Unable-to-resolve-class-org-codehaus-groovy-grails-compiler-GrailsProjectCompiler-td4641043.html) did not work for me.
Does any one have any suggestions as to what could be wrong?
Edit: Grails is version 2.3, this is Mac OS X El Capitan running JDK 1.8
As mentioned in question: Does Grails 2.3.x Support JDK 8
Support for Java 8 had been added since Grails 2.4.
Try JAVA 1.7
Related
The error I have is the following:
Warning |
Unrecognized flag: non-interactive.
Resolving dependencies..
Error |
Specify an application name or use --inplace to create an application in the current directory
I'm following the steps that come on the NetBeans page.
I have installed:
Grails 3.3.8.
Groovy 2.4.15.
NetBeans 8.2.
From console create a project using grails create-app hello world and in this case it seems that there were no problems.
NetBeans doesn't currently support Grails 3.x as far as I know, however you might be able to import it as a Gradle project. I know that Netbeans is working on updating there Groovy support soon, maybe that will help...
The best IDE for Grails is Intellij Ultimate, which costs money, however you can use the community version, you just won't get GSP support.
I create a new Grails project from NetBeans but when I complete the project complition wizard, nothing to show in my NetBeans project window. My details configuration is:
NetBeans 8.0.2, JDK 8 64bit, Grails 3.0.1
I check my environment veriable setting for Java & Grails also. Everything seems ok, and one important thing is in command line when I type grails -version, it shows the version name and so on. I uninstall NetBeans, JDK, & Grails several times but same problem, I also try it for JDK 1.7 32 bit, no result. I'm used to with NetBeans, so I don't try to other IDE.
Maybe look where the project is defined on disk and open it into NetBeans.
I dont know how this case was solved, but to me it looks like the problem is still valid:
The New Project wizard (Groovy -> Grails Application) calls "grails create-app" but does not generate the nbproject directory.
My environment is:
NetBeans: 8.0.2; Grails Version: 3.0.4; Groovy Version: 2.4.4; JVM Version: 1.7.0_79
Netbeans 8.0.* does not have support for Grails 3.* projects. It can create project but cannot recognize and open the project since the project structure has been dramatically changed from Grails 2.* to 3.*. There was a task created to resolve this problem. Now it reads VERIFIED FIXED for version 8.1. So please upgrade to Netbeans 8.1.* in order to be able to handle Grails 3.* projects in Netbeans.
I have been learning Groovy/Grails Tool Suite (GGTS) 3.6.4, with Grails 2.4.4 using some video tutorials. When I attempt to package the project into an application using the grails war command on the Windows command prompt, I get the following error:
"Error Gradle build terminated with error: Task 'assemble' not found in root project ..."
Any references to this error that I have found online have only involved Android Studio (for instance), so I am at a loss here as to how to fix it for GGTS.
I have Android Studio 1.0.1 installed, and in case it was affecting the Grails packaging, I tried the solution of removing the <component name="FacetManager"> from the general Android Studio "MyApplication.iml" file, but that had no effect. I couldn't find any analogous file for the GGTS.
In case the issue lies elsewhere in my overall installation, I have Java JRE 7_79 (64-bit) installed, as well as the the JDK 1.7.0_79 (64-bit)
OK. I found out what the cause of the error was, and how to avoid it in the future.
The Problem
Grails 3.0.1 requires the following files for grails war to work:
build.gradle
gradle.properties
gradlew
gradlew.bat
\gradle (directory)
Grails 2.4.4 does not require any of the above files for making a WAR file.
GGTS 3.6.4 does not work with Grails 3.0.1, but it comes with and works fine with Grails 2.4.4.
The Solution
Copying the stated Gradle files & directory to a GGTS project folder fixed the problem. However, I wasn't satisfied with needing to do this manually or with a custom batch file for every project.
Looking deeper, it turns out that when working out compatibility issues between the Java 32-bit JRE existing on my system and the Java 64-bit JRE & SDK, Grails, and GGTS versions (there was a lot of fiddling to get things working), at one point I had set up my global variable to Grails to be directed at 3.0.1, and I failed to update it to Grails 2.4.4. Making this change has fixed the issue.
Explaining the Cause
When following this video series on installing a compatible set of Java, Grails, and GGTS, the instructor manually downloaded the latest version of Grails from the Grails site and then downloaded GGTS separately from its own site. Both of these were older versions than what I was working with.
In my case it turns out that, after setting up the Java SDK & Grails, the latest version of GGTS (3.6.4) did not work properly with the latest version of Grails (3.0.1). Fortunately the GGTS bundle came with an older version of Grails (2.4.4), and by referencing that, GGTS would work correctly. However, although I changed the IDE reference to Grails, I forgot to reset my environment variable ...
So GGTS was setting up the project for using Grails 2.4.4. However, when calling grails war, the command was using Grails 3.0.1! Apparently these two versions of Grails use different files for creating a WAR file, so GGTS was not setting up the project directories with the correct local files, and the packaging was failing.
Avoiding Future Occurrences
So, when using GGTS 3.6.4, make sure that all references to Grails point to Grails 2.4.4.
In general, if any GGTS bundle contains a version of Grails, you should have everything set up to use that version, even if it is old.
I have upgraded my Grails project from version 2.1.2 to 2.2.3. Before the upgrade, the project worked flawlessly. However, I am not able to run the project now. I get a strange error :
| Compiling 143 source files.....
| Error Error generating web.xml file (Use --stacktrace to see the full trace)
and the compilation stops.
I thought that the "--stacktrace" option would provide some useful information. However, I am not able to decipher the error.
Error here > http://pastebin.com/zwR4YzXS
Googling / searching this problem did not help. I hope I am not the only one, who is getting this error.
Thank you for your advices !
Some useful info :
Grails 2.2.3
Java version :
java version "1.7.0_21"
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-0ubuntu0.12.10.1)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
OS: Ubuntu 12.04 x64
Faced the same issue while working with grails 2.3.2. Actually, I added and then removed clojure plugin. Right after got such problem.
$ grails clean just worked for me.
Same problem i was facing i used the below command :
grails clean
grails refresh-dependencies
and that worked for me
If you are using Intellij the problem is that:
the reason for this is that IDEA adds classpath by default on creating integration test run configuration. So if you run tests you might cause that error
Open Run → Edit Configurations... (or press Alt-Shift-F10)
Select your configuration that fails
Uncheck Add --classpath checkbox
You are done! Run.
I have upgraded my application from grails 1.2.2 to 1.3.1-RC1. While things seem to work when executing grails from command prompt, I cannot make it run from my IDE IntelliJ (last development version).
The error I got straightaway is:
Error executing script RunApp: net/sf/json/JSONException
...
Caused by: java.lang.ClassNotFoundException: net.sf.json.JSONException
Adding the library json-lib.jar to the modules dependencies does not change anything in IntelliJ.
Also, it seems that there are 2 JSONException classes defined in 2 different packages :
org.codehaus.groovy.grails.web.json in grails.jar
another package net.sf.json in json-lib-2.3-jdk15.jar located in lib folder of cloud-foundry plugin
Do you have any idea about what's happening?
In case, someone encountered the same problem, I finally managed to solve the issue without being sure what was the real fix.
In any case, my problem happened after I have upgraded my Grails from 1.2 to 1.3 and I had old libraries attached to plugins. What I did is:
Project Settings -> Modules -> irofoot-grailsPlugins -> Dependencies -> Grails User Library -> Edit -> Detach old libraries (with Grails-1.2 path)
and then it worked (no more ClassNotFoundException)!!