1

我们已经从 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 引用。

4

1 回答 1

0

使用 maven-eclipse-plugin (eclipse:eclipse) 2.9 版而不是 2.8 版解决了这个问题!多...

于 2012-05-08T21:33:17.643 回答