gpt4 book ai didi

grails - 为什么Grails会采用jar依赖性而不是现有的maven项目依赖性?

转载 作者:行者123 更新时间:2023-12-02 14:13:41 25 4
gpt4 key购买 nike

我正在使用IntelliJ IDEA 10.0.2(支持groovy / grails),maven 2.2.1和grails 1.3.6。

我们有一个大型的Maven项目,它依赖于许多其他的Maven项目。假设工作空间结构如下:

  • 后端项目(Java项目,没有更多项目依赖项)
  • 输出项目(Java项目,没有其他项目依赖项)
  • frontend-project(Grails项目,同时依赖于后端和输出)

  • 这意味着,在我的前端项目的pom.xml中,我定义了2个项目依赖项:

    例如
    <dependency>
    <groupId>com.company.project</groupId>
    <artifactId>backend-project</artifactId>
    <version>${project.version}</version>
    </dependency>

    <dependency>
    <groupId>com.company.project</groupId>
    <artifactId>output-project</artifactId>
    <version>${project.version}</version>
    </dependency>

    假设我在输出或后端项目中更改了一些Java Source。当我
    立即运行grails应用程序,则不会考虑更改。我必须在本地发布更改的 Artifact ,然后在运行该应用程序之前由grails项目再次对其进行解析,以使其生效。
    这告诉我grails项目仅依赖于Maven存储库中的项目依赖项jar,而不关心工作空间中任何现有的项目依赖项“源”。

    一定要那么复杂吗?如果是这样,为什么呢?

    请注意,如果我的前端项目是一个Spring Web项目,那么更改将在IDEA中看到,并且tomcat甚至会动态地重新加载更改。

    请注意,当IDEA识别出经过改造的grails项目时,它将不再使用以下命令运行grails项目:“grail run-app”,但使用以下更为复杂的版本:“mvn grails:exec -Dcommand = run-app”。不知道这是否有任何意义。

    谢谢!
    斜线先生

    最佳答案

    Maven总是从存储库(本地,然后是远程等,取决于pom.xml配置)中选择jar文件。

    考虑一下:您的主项目将如何知道后端项目或输出项目文件的位置?

    如果要直接依赖,则从pom.xml中删除它,并修改项目构建路径以将项目的输出直接添加到主项目中。在Eclipse中,打开主项目的属性页=>构建路径=>项目=>添加。

    关于grails - 为什么Grails会采用jar依赖性而不是现有的maven项目依赖性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5106566/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com