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



我使用的是:

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

最新更新