Ritesh M Nayak
Ritesh M Nayak

Reputation: 8043

Grails: Native2ascii error when I add a new property to message.properties

I get a strange error when I add a new property to message.properties file in my grails application during runtime. When I restart the application via the command line, or restart STS, this error disappears. I am on version 2.0.1 and until a week ago, I was able to add new properties to message.properties file during runtime. Here is the stacktrace of the error

| Error 2012-06-18 16:54:58,702 [Thread-38] ERROR plugins.AbstractGrailsPluginManager  - Plugin [i18n:2.0.1] could not reload changes to file [/home/project/grails-app/i18n/messages.properties]: Error starting Sun's native2ascii: 
Message: Error starting Sun's native2ascii: 

Any ideas?

Upvotes: 12

Views: 12598

Answers (7)

Esteban Preciado
Esteban Preciado

Reputation: 81

On linux, running grails war command, it solves the issue

 cp /usr/lib/jvm/java-1.8.0-openjdk/lib/tools.jar /usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/

Upvotes: 0

Mike Sw
Mike Sw

Reputation: 21

I had a similar error when compiling Grails 2 from the command line under linux.

Error packaging application: Error occurred processing message bundles: Error starting Sun's native2ascii:
...
Caused by: : Error starting Sun's native2ascii: 
...
Caused by: java.lang.ClassNotFoundException: sun.tools.native2ascii.Main`

I solved it by setting JAVA_HOME to JDK as mentioned above, something like

JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.161.x86_64

and not:

JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64

also include $JAVA_HOME/bin in the PATH variable

Upvotes: 1

Colin D
Colin D

Reputation: 3111

This happened to me when I installed java 8 in parallel with java 7 on Ubuntu but didn't properly configure it with update-alternatives. Specifically, JAVA_HOME was not set properly.

Upvotes: 1

Scott Warren
Scott Warren

Reputation: 1591

I had a similar problem, in the end I

  1. Removed the Debug Config for the Project
  2. Deleted the project (but NOT the files)
  3. Removed the .settings directory
  4. Removed the .classpath and .project files from the project
  5. Created a New General Project with the same name in the workspace
  6. Recreated the Debug -> Run as Run-App

Hope this helps

Upvotes: 1

jasonwhite01
jasonwhite01

Reputation: 81

Very frustrating bug.

After I executed all the steps suggested above in this thread, grails app was STILL not seeing tools.jar...

GRRR!

For anyone experiencing this problem in GGTS when pointing to the 1.7 jdk (when setting the jre) persisting afterwards, you MUST do the following:

  1. Pick the correct jdk (1.7) in the "JRE Definition" panel within "Installed JRE's" in the GGTS Preferences panels.
  2. Watch the jars from that jdk populate in the JRE definition window panel at the bottom "JRE System Libraries".
  3. Check for tools.jar (mine DID NOT show up as recognized within the jdk lib or, after i tried 'zawmn83's post above) in /lib/ext.
  4. If tools.jar does not show up as recognized in the jdk, click the "Add External JARs..." button, find it, add it.

That completely solve my problem - THANK GOD!!!!

p.s. i also had to set my JAVA_HOME to my 1.7 jdk correctly, in my .bash_profile but, that's already called out here as part of the solution.

Thanks everyone for contributing on this one - this bug has been causing me brain damage whilst tinkering with it today, and the above suggestions got me 99% of the way there!

Upvotes: 4

zawmn83
zawmn83

Reputation: 809

cd to jdk path

cp lib/tools.jar jre/lib/ext/tools.jar

It solves the issue.

Note: to get correct jdk path, check GGTS --> Windows --> Preferences --> Java --> Installed JREs --> JREs Home Path

Upvotes: 19

Bozho
Bozho

Reputation: 597016

You should be using JDK rather than JRE.

Also, if you don't need the native2ascii (which you probably don't), in BuildConfig.groovy use: grails.enable.native2ascii = false

Upvotes: 11

Related Questions