我刚开始使用java,并创建了一个项目。 它的maven项目(我还没有使用maven)
所以我的项目有两个模块A和B. 和B取决于A,A取决于远程maven repo中的一些。和B还取决于一些远程回购。 它在Idea IntelliJ中运行良好,可以很好地制作罐子。
但afaik .iml文件是Idea IntelliJ特定的。和pom.xml是maven特有的。 当我检查文件时为什么项目的所有权限都是用.iml文件和.idea dir而不是pom.xml(s)编写的
如果你想看到现实世界的来源,那么here它就是它深深学习java的alpha项目。 当我尝试在travis-ci.org上构建项目时,它无法解决项目的依赖关系
答案 0 :(得分:3)
梅格拉杰,
我在这里分发了你的WebTrimmer回购:https://github.com/ajorpheus/WebTrimmer并解决了一些妨碍成功构建的问题:
我已将项目转换为与IDE无关的纯maven项目。通过上述更改,我可以从命令行构建项目,并期望travisci也能够。
关于为什么依赖项在.iml中重复的问题---这不是CI作业失败的原因。该文件中的依赖项是pom.xml中依赖项的快照。当用户手动重新导入maven项目时,此快照会更新,如果maven项目设置为“自动导入”,则会自动更新。
正如Peter Lawrey在上面的评论中提到的,如果你在项目中添加一个jar,maven就不会知道它,它只会出现在.iml文件中。
一般来说,要搜索和添加maven依赖项,以下内容一直对我有用:https://stackoverflow.com/a/10178586/325742
希望这有帮助!
答案 1 :(得分:1)
您需要自己为pom添加依赖项。 .iml文件用于存储您当前正在处理的任何项目的项目特定设置。
拥有pom文件允许你的maven构建独立于IDE,而.iml文件要求你拥有IntelliJ。
您可以从正在使用的.iml文件和版本控制中排除。您还可以通过打开其pom.xml直接通过IntelliJ打开现有的maven项目,IntelliJ可以自动导入pom文件中指定的所有内容,并生成新的.iml文件。