gpt4 book ai didi

java - IntelliJ 理念。如何创建maven项目。 pom.xml 和 .iml 文件怎么样

转载 作者:行者123 更新时间:2023-12-01 18:43:43 28 4
gpt4 key购买 nike

我刚刚开始使用java,并创建了一个项目。它的maven项目(我还没有使用过maven)

所以我的项目有两个模块 A 和 B。B 依赖于 A,A 依赖于远程 Maven 仓库中的一些内容。 B 还依赖于一些远程仓库。它在 Idea IntelliJ 中运行良好,并且构建 jar 也很好。

但 afaik .iml 文件是特定于 Idea IntelliJ 的。 pom.xml 是 Maven 特定的。当我检查文件时,为什么项目的所有依赖项都写入 .iml 文件和 .idea 目录而不是 pom.xml

如果你想查看真实世界的源代码,那么 here它只是其用于深入学习 java 的 alpha 项目。当我尝试在 travis-ci.org 上构建项目时它无法解决项目的依赖关系

最佳答案

梅格拉吉,

我在这里 fork 了你的 WebTrimmer 存储库:https://github.com/ajorpheus/WebTrimmer并修复了一些阻碍成功构建的问题:

  1. travisci 失败,因为 lib 文件夹中有三个 jar,这些 jar 不可用于 CI,因为它正在执行 Maven 构建。

    修复方法是删除这三个 jar 并引入相应的 Maven 依赖项,如 this 所示。提交。

  2. 添加 Maven 依赖项时需要排除,如下所示:The following artifacts could not be resolved: javax.jms:jms:jar:1.1

  3. WebTrimmerUI 依赖于其同级模块 WebTrimmerEngine 中的类,因此需要相应的依赖项。

我已将该项目转换为与 IDE 无关的纯 Maven 项目。通过上述更改,我可以从命令行构建项目,并期望 travisci 也能够这样做。

关于为什么依赖项在 .iml 中重复的问题 --- 这不是 CI 作业失败的原因。该文件中的依赖项是 pom.xml 中的依赖项的快照。当用户手动重新导入 Maven 项目时,此快照会更新;如果 Maven 项目设置为“自动导入”,则此快照会自动更新。
正如 Peter Lawrey 在上面的评论中提到的,如果您向项目添加一个 jar,maven 不会知道它,它只会出现在 .iml 文件中。

一般来说,要搜索并添加 Maven 依赖项,以下内容始终对我有用:https://stackoverflow.com/a/10178586/325742

希望这有帮助!

关于java - IntelliJ 理念。如何创建maven项目。 pom.xml 和 .iml 文件怎么样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18806961/

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