我们已经从 Archiva 迁移到 Nexus,并且仍在使用 Maven 2。
我们在本地执行 eclipse:eclipse 以便根据 POM 中的依赖关系生成 Eclipse .project 和 .classpath 文件,然后我们将项目导入 Eclipse 进行开发。我们不使用 M2Eclipse 的原因有很多。
由于使用 Nexus,我们遇到的问题是项目并不总是在工作空间中相互引用,而是引用各自的 JAR。
我注意到 Nexus 将时间戳附加到 JAR 名称和 MVN 输出状态,例如:
[INFO] Artifact myapp-bom:jar:7.3.0.2.1-SNAPSHOT already available as a workspace project, but with different version. Expected: 7.3.0.2.1-20120508.115037-68, found: 7.3.0.2.1-SNAPSHOT
我觉得这就是 eclipse:eclipse 生成包含JAR 引用(基于本地 maven 存储库)而不是项目引用的 .classpath 文件的原因。当我们使用 Archiva(并且没有时间戳)时,我们过去常常获取项目引用,这正是我们想要的。
有没有其他人有这个问题,它是如何解决的?我读到 maven 3 强制生成时间戳。同样,如何让 eclipse:eclipse 生成合理的 .classpath 文件?
干杯,蚂蚁
PS - 我们的一些项目来自不同的 SVN 存储库。似乎如果在父 pom 中引用了 Eclipse 项目,eclipse:eclipse 会创建一个项目引用,但如果 Eclipse 项目来自不同的父 pom,但仍在工作区中,那么它只能生成 JAR 引用。