我有一个正常运行的grails项目。最近,我们的团队决定在应用程序中添加一个额外的功能,该功能已经在我们自己的 Java 独立应用程序中实现。 “所以”,我想,“我只需要引用工作区中的独立 Java 项目”。所以我这样做了 - 从 Grails 项目引用了我的 Java 项目,并从位于 src/groovy 中的 Groovy 类调用该服务。当我尝试运行 Web 项目时,出现编译错误:
Error Compilation error: startup failed:
unable to resolve class com.CycleManager
它说错误是 CycleManager 类的导入行。
为什么groovy找不到引用的项目?我做错了什么?
谢谢。
最佳答案
发生这种情况是因为 grails 无法看到公开服务的 jar/类。您需要将 jar 包含在您的 grails 类路径中(不在您的工作区中)。这可以通过在依赖项部分的 Grails 应用程序的 BuildConfig.groovy 文件中提及 jar 来完成。
dependencies {
// your jar name
compile ("com.CycleManager")
}
这是将 jar 包含在应用程序中的正确方法。
P.S:Grails 期望您的 jar 位于其 ivy 缓存中。如果它不存在于 ivy-cache 中,它将从您的快照文件夹中提取。
关于java - 如何从 Grails 项目中使用或引用 Java 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11147530/