Maven试图下载’-sources.src’文物?

我有一个Maven项目,到目前为止用于编译没有问题.今天,当我运行mvn clean package -U时,我得到:

[ERROR] Failed to execute goal on project myproj: Could not resolve dependencies for project org.myorg.myproj:myproj:jar:1.0-SNAPSHOT: The following artifacts could not be resolved: 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: Could not find 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试图找到源/ src文物?任何想法可能存在的想法?

编辑:我的依赖项(使用mvn help:effective-pom看到)没有任何源分类器.例如,错误消息中提到的对jetty-server的依赖性如下:

<dependency>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-server</artifactId>
  <version>8.1.2.v20120308</version>
  <scope>compile</scope>
</dependency>

解决方案:在@AlessandroSantini和@ brian-topping的帮助下,我终于确定了问题所在.我的一个间接依赖项有一个< classifier> sources< / classifier>和< type> src< / type>. (mvn help:effective-pom没有显示这些间接依赖关系,并且mvn依赖:tree也失败了上面的错误消息;最终,确定了grep -r’prayty-server’〜/ .m2 / repository / -C 3具有混乱依赖性的工件.)

事实证明,我自己的一个SBT项目需要其中一个依赖项的(不存在的)源工件:我使用SBT’s withSources(),我应该使用sbteclipe’s EclipseKeys.withSource := true来获取Eclipse中的源代码.

最佳答案 您对公共快照有任何依赖吗?我将看一下mvn dependency:tree的输出,看看你是否能找到一个包含源的传递依赖.也许其中一个传递因为你的上一次构建而发生了变化,他们搞砸了.

点赞