如何使用Maven下载jar的源代码?

在我的项目中,我正在使用通过Maven提供的JAR文件。 但是Maven给我的只有这个jar – 没有javadocs,也没有消息源。 按下“下载源”不起作用:Eclipse仍然没有findjar的来源。

这取决于什么? 资料库应该自动提供来源?

可能是我需要在POM中写点东西来指导Maven下载源代码?

我目前的朋友如下:

<repositories> <repository> <id>xuggle repo</id> <url>http://xuggle.googlecode.com/svn/trunk/repo/share/java/</url> </repository> </repositories> <dependencies> <dependency> <groupId>xuggle</groupId> <artifactId>xuggle-xuggler</artifactId> <version>5.3</version> <type>rar</type> </dependency> </dependencies> 

为什么Maven不会对源代码下载失败提出任何意见?

执行mvn dependency:sources如果源可用(上传到承载工件的存储库中),则mvn dependency:sources将强制maven下载项目中所有jar的所有源。 如果你想下载javadoc,那么命令是mvn dependency:resolve -Dclassifier=javadoc

也可以在settings.xml文件中创buildconfiguration文件,并包含以下属性:

 <properties> <downloadSources>true</downloadSources> <downloadJavadocs>true</downloadJavadocs> </properties> 
 mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc 

如果没有资料来源,应该这样说

 [INFO] The following files have NOT been resolved: [INFO] com.oracle:ojdbc6:java-source:sources:12.1.0.1 [INFO] javax:javaee-api:java-source:sources:6.0 

最好不要依赖Eclipse插件,因为它已被弃用。 使用downloadSourcesdownloadJavadocs属性不适合我。 上面提到的关于使用依赖关系插件的答案。 但是,您可能希望自动下载源代码和javadoc。 此外,您可能希望始终创build一个源代码jar和一个javadoc jar。 把它放在你的项目中。 如果你使用模块,把你的父母。

 <build> <plugins> <!-- download sources and javadoc --> <plugin> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version> <executions> <execution> <id>download-sources</id> <goals> <goal>sources</goal> </goals> </execution> <execution> <id>download-javadoc</id> <configuration> <classifier>javadoc</classifier> </configuration> <goals> <goal>resolve</goal> </goals> </execution> </executions> </plugin> <!-- Always create javadoc jar. --> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.4</version> <executions> <execution> <id>attach-javadoc</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <!-- Always create source jar. --> <plugin> <artifactId>maven-source-plugin</artifactId> <version>2.10</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> 

源/ javadoc jar可能没有提供,也不在版本库中 – 没有任何东西需要source / javadoc jar。

延伸@hovanessyan答案。

在Maven的settings.xml中启用downloadSources和downloadJavadocs的基本configuration文件将如下所示。 例如简档ID是downloadSources

 <!-- add the profile under profiles section --> <profile> <id>downloadSources</id> <properties> <downloadSources>true</downloadSources> <downloadJavadocs>true</downloadJavadocs> </properties> </profile> <!-- activate the profile under activeProfiles section --> <activeProfiles> <activeProfile>downloadSources</activeProfile> </activeProfiles> 

在eclipse中,竖钻点击你的项目,然后Maven>Download Sources再次Maven>Download Sources Maven>Download Javadoc

您还可以使用以下命令下载target/dependencies下的源代码:

 mvn -Dclassifier=sources dependency:copy-dependencies