我们已经从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生成.classpath文件,其中包含 JAR引用(基于本地maven repo)而不是项目引用。当我们使用Archiva(并且没有时间戳)时,我们习惯于获得项目引用,这正是我们想要的。
还有其他人有这个问题,它是如何解决的?我读到maven 3强制始终生成时间戳。再次,你如何得到eclipse:eclipse来生成合理的.classpath文件?
干杯, 蚂蚁
PS - 我们的一些项目来自不同的SVN存储库。似乎如果在父pom中引用了Eclipse Projects,eclipse:eclipse会创建一个项目引用,但是如果Eclipse Projects来自不同的父pom,但仍然在工作区中,那么它只能生成JAR引用。
答案 0 :(得分:0)
使用maven-eclipse-plugin(eclipse:eclipse)版本2.9而不是2.8来解决问题! DOH ...