我使用的是:
- Eclipse Kepler Service Release 2
- M2E - Maven集成为Eclipse 1.4.0.xxx Grails 2.1.2 Groovy/Grails Tool Suite 3.4.0
我的方法是创建一个Grails应用程序,然后将其转换为Maven项目,然后通过"Java Build Path"->"Projects"选项添加一个Java Maven项目作为依赖项。但是每次我想运行Grails应用程序时,Grails应用程序都无法解析来自其他Java Maven项目的那些类。这可能是一个非常简单的问题,但到目前为止我找不到任何解决办法。
提前感谢!
我认为更好的方法是将jar发布到本地存储库中,然后可以通过配置BuildConfig.groovy:
将依赖项添加到grails应用程序中。1)将您的本地maven repo添加到您的项目:
repositories {
inherits true
checksums false
grailsPlugins()
mavenLocal()
mavenCentral()
}
2)添加依赖项:
dependencies {
compile: "<your_group_id> : <your_artifact_id> : <version>"
...
}
当你在grails环境中启动项目时,它会自动下载jar
我遇到了同样的问题,无法在单独的Maven模块中解决对类的更改。对我有用的是:
- 将依赖项添加到Grails项目的pom.xml中(以便您可以在IDE之外构建)
- Do not添加Maven属性到Grails项目。其他项目仍然具有Maven的性质,但Grails项目不应该。
- 在Grails项目的Properties中,选择Java Build Path -> Projects并添加其他Maven项目。这允许Eclipse立即发现对其他项目的更改。
- 启动启用JRebel的Grails(这样您就可以在单独的Maven模块中重新加载更改到Java类)
以上步骤允许在GGTS 3.4和Grails 2.1.2中顺利地重新加载类,而无需重新构建jar或重新启动服务器。可能是Maven集成在以后的版本中得到了改进,因此不再需要上面的解决方案。
库项目必须是一个Maven项目,然后您必须将依赖项添加到"Main"项目中的pom.xml文件中。
项目的依赖项部分可以像这样
<dependencies>
<dependency>
<groupId>your-library-project-group</groupId>
<artifactId>your-library-artifact-id</artifactId>
<version>your-library-version</version>
<scope>compile</scope>
</dependency>
</dependencies>