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

时间:2012-10-17 16:21:29

标签: maven

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

  

[错误]无法在项目myproj上执行目标:无法解析项目org.myorg.myproj的依赖项:myproj:jar:1.0-SNAPSHOT:无法解析以下工件: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:找不到工件javax.servlet:javax.servlet-api:src:来源:MyRepo中的3.0.1(http://maven.myorg.org:9001/nexus/content/repositories/myrepo/) - > [帮助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和@ brian-topping的帮助下,我终于确定了问题所在。我的一个间接依赖项有<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中获取源代码。

1 个答案:

答案 0 :(得分:2)

您对公共快照有任何依赖吗?我将看一下mvn dependency:tree的输出,看看你是否能找到一个以某种方式包含源的传递依赖。也许自上次构建以来,其中一个传递已经发生了变化,他们搞砸了。