12

在运行时向我的 grails 应用程序中的 message.properties 文件添加新属性时,我收到一个奇怪的错误。当我通过命令行重新启动应用程序或重新启动 STS 时,此错误消失。我使用的是 2.0.1 版本,直到一周前,我还能够在运行时向 message.properties 文件添加新属性。这是错误的堆栈跟踪

| 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: 

有任何想法吗?

4

7 回答 7

19

cd 到 jdk 路径

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

它解决了这个问题。

注意:要获得正确的 jdk 路径,请检查 GGTS --> Windows --> Preferences --> Java --> Installed JREs --> JREs Home Path

于 2013-09-25T04:55:36.890 回答
11

您应该使用 JDK 而不是 JRE。

此外,如果您不需要 native2ascii(您可能不需要),请在 BuildConfig.groovy 中使用:grails.enable.native2ascii = false

于 2012-08-31T12:14:52.420 回答
4

非常令人沮丧的错误。

在我执行了上面在这个线程中建议的所有步骤之后,grails 应用程序仍然没有看到 tools.jar ......

GRRR!

对于在 GGTS 中指向 1.7 jdk(设置 jre 时)之后仍然存在 时遇到此问题的任何人,您必须执行以下操作:

  1. 在 GGTS Preferences 面板的“Installed JRE's”中的“JRE Definition”面板中选择正确的 jdk (1.7)。
  2. 观察来自该 jdk 的 jar 填充在“JRE 系统库”底部的 JRE 定义窗口面板中。
  3. 检查 /lib/ext 中的 tools.jar(我的没有在 jdk lib 中显示,或者在我尝试了上面的 'zawmn83's post 之后)。
  4. 如果 tools.jar 在 jdk 中没有显示为可识别,请单击“添加外部 JAR...”按钮,找到它,添加它。

这完全解决了我的问题 - 感谢上帝!!!!

ps 我还必须在我的 .bash_profile 中正确地将我的 JAVA_HOME 设置为我的 1.7 jdk,但是,这已经作为解决方案的一部分在这里被调用。

感谢大家为此做出贡献 - 这个错误在今天修补它时一直导致我的脑损伤,上述建议让我完成了 99% 的工作!

于 2013-10-30T23:36:06.597 回答
1

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

于 2013-11-08T04:20:45.087 回答
1

当我在 Ubuntu 上同时安装 java 8 和 java 7 但没有使用 update-alternatives 正确配置它时,这发生在我身上。具体来说,JAVA_HOME 设置不正确。

于 2016-06-30T15:56:58.890 回答
1

从 linux 下的命令行编译 Grails 2 时,我遇到了类似的错误。

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`

我通过如上所述将 JAVA_HOME 设置为 JDK 来解决它,例如

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

并不是:

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

也包括$JAVA_HOME/binPATH变量中

于 2018-02-22T03:06:31.020 回答
0

在linux上,运行grails war命令,它解决了这个问题

 cp /usr/lib/jvm/java-1.8.0-openjdk/lib/tools.jar /usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/
于 2021-03-20T00:10:31.447 回答