如何在Eclipse中将Java Maven项目依赖项正确添加到Grails Maven项目中

时间:2014-03-22 15:57:59

标签: java eclipse maven grails groovy

我正在使用:

  • Eclipse Kepler Service Release 2
  • M2E - Eclipse 1.4.0.xxx的Maven集成
  • Grails 2.1.2
  • Groovy / Grails Tool Suite 3.4.0

我的方法是创建一个Grails应用程序,然后将其转换为Maven项目,然后通过" Java Build Path"添加一个Java Maven项目作为依赖项。 - > "项目"选项。 但每次我想运行Grails应用程序时,Grails应用程序都无法从我的其他Java Maven项目中解析这些类。 可能是一个非常简单的问题,但到目前为止我找不到任何解决方案。

提前谢谢!

3 个答案:

答案 0 :(得分:10)

我认为更好的方法是将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

答案 1 :(得分:2)

库Project必须是Maven项目,然后你必须将dependcy添加到“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>

答案 2 :(得分:2)

我遇到了同样的问题,因为无法在单独的Maven模块中解析对类的更改。对我有用的是:

  • 将依赖项添加到Grails项目的pom.xml(以便您可以在IDE外部构建)
  • 将Maven性质添加到Grails项目中。其他项目仍然具有Maven性质,但Grails项目不应该。
  • 在Grails项目的Properties中,选择Java Build Path - &gt;项目并添加其他Maven项目。这允许Eclipse立即找到对其他项目的更改。
  • 启用Grails并启用JRebel(以便您可以在单独的Maven模块中重新加载对Java类的更改)

上述步骤允许在GGTS 3.4和Grails 2.1.2中顺利重新加载类,而无需重建jar或重新启动服务器。可能是Maven集成在以后的版本中有所改进,因此不再需要上面的解决方法。