我有一个迄今用于编译没有问题的Maven项目。今天,当我运行mvn clean package -U
,我得到:Maven试图下载'-sources.src'文物?
[错误]未能就项目的Myproj执行目标:无法解析项目org.myorg.myproj依赖关系:的Myproj:罐子:1.0快照:下面的文物无法解析:javax.servlet:javax.servlet-api:src:sources:3.0.1,org.eclipse.jetty:jetty-servlet:src:sources:8.1.2.v20120308,org.eclipse.jetty:jetty -server:src:sources:8.1.2.v20120308,org.eclipse.jetty:jetty-webapp:src:sources:8.1.2.v20120308,commons-io:commons-io:src:sources:2.4:找不到artifact javax.servlet:javax.servlet-api:src:sources:3.0.1 in MyRepo(http://maven.myorg.org:9001/nexus/content/repositories/myrepo/) - > [Help 1]
我试图用一个新的本地Maven仓库(rm -fr ~/.m2/repository
),但没有任何区别。
为什么Maven试图找到source
/src
工件?任何问题可能存在的想法?
编辑:我的依赖关系(如使用mvn help:effective-pom
所示)没有任何source
分类器。例如,在错误消息中提到的jetty-server
的依赖内容如下:
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>8.1.2.v20120308</version>
<scope>compile</scope>
</dependency>
解决方案:随着@AlessandroSantini的帮助和@布莱恩 - 摘心,我终于发现了问题。我的一个间接依赖项有<classifier>sources</classifier>
和<type>src</type>
。 (mvn help:effective-pom
没有显示这些间接依赖,并mvn dependency:tree
失败,出现上述错误信息,也;最终,一个grep -r 'jetty-server' ~/.m2/repository/ -C 3
确定与搞砸依赖神器)
原来我自己SBT项目之一所需要的(不存在的)源工件:我使用SBT's withSources()
,我应该使用sbteclipe's EclipseKeys.withSource := true
来获取Eclipse中的源代码。
也许你可能包含你的pom.xml? –
显然它看起来像你的依赖项中有一个“src”类型和一个“sources”限定符。 –
@AlessandroSantini,不确定:当我查看完整的依赖关系时,使用'mvn help:effective-pom',我没有看到任何与源限定符的依赖关系(请参阅我的编辑)。 – Hbf