【发布时间】:2012-03-20 13:58:05
【问题描述】:
我有一个引用 Java 库(作为 IntelliJ 模块依赖项)的 Grail 应用程序。这可行,但是一旦我将 hibernate 添加为 Java 库的依赖项,Grails 将不再运行。
Loading Grails 2.0.1
Error Error executing script RunApp: Provider for javax.xml.parsers.SAXParserFactory cannot be found (Use --stacktrace to see the full trace)
在我的 Java 模块中,我添加了以下内容的休眠:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.0.0.Final</version>
</dependency>
我看不出有什么好的办法。 Grails 依赖报告没有显示任何冲突的库。如果 Grails 应用程序中是否安装了 hibernate 插件,则会出现此错误。
请记住,(在这种情况下)Java 库不会通过 BuildConfig.groovy 合并。它被合并为 IntelliJ 模块依赖项。如果我通过 BuildConfig.groovy 将模块合并为 jar,一切正常,但我无法进入 Java 代码。
澄清:
根据 JetBrains 的说法,Java 库作为 IntelliJ 模块依赖项和 BuildConfig.groovy 合并。从命令行执行时,项目可以工作,这只是从 IDE 启动时的问题。
建议?
【问题讨论】:
-
您是否尝试过从 IntelliJ 之外的命令行运行 grails?这可能与 IntelliJ 传递模块依赖项的方式以及 grails 将其引入的方式存在类路径冲突。
-
绝对是类路径冲突。如果我从命令行运行,一切正常。当然,如果要调试,从 IDE 运行会有所帮助。
标签: grails intellij-idea