在maven项目中检索依赖项源代码

时间:2016-05-17 08:12:11

标签: java maven dependencies

在我的maven项目中,我有很多依赖项,我需要获取源代码。

我知道 maven-dependency插件带有 unpack-dependencies 目标

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.10</version>
    <executions>
        <execution>
            <id>resolve-dependecies</id>
            <phase>process-sources</phase>
            <goals>
                <goal>sources</goal>
            </goals>
            <configuration>
                <classifier>sources</classifier>
                <includeParents>true</includeParents>
                <type>java-source</type>
            </configuration>
        </execution>
        <execution>
            <id>src-dependencies</id>
            <phase>process-sources</phase>
            <goals>
                <goal>unpack-dependencies</goal>
            </goals>
            <configuration>
                <classifier>sources</classifier>
                <failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>
                <outputDirectory>${project.basedir}/Utils/src</outputDirectory>
                <type>java-source</type>
            </configuration>
        </execution>
    </executions>
</plugin>

但是当我使用它时,很多文件&#34;尚未解决&#34;

e.g。

...
org.jboss:jboss-parent:java-source:sources:5
org.apache.cxf:cxf-parent:java-source:sources:3.0.3
org.apache:apache:java-source:sources:13
org.apache:apache:java-source:sources:9
org.liquibase:liquibase-parent:java-source:sources:3.5.0
org.apache.commons:commons-parent:java-source:sources:5
org.eclipse.jetty.orbit:jetty-orbit:java-source:sources:1
...

在pom.xml中,我没有为依赖项指定任何存储库,因此默认情况下maven中央存储库正在使用。

我还尝试反编译( Fernflower Procyon JAD 项目)我的项目jar文件,其中包含所有依赖项。但是在反编译结果java文件中出现了数百个错误之后。

我仍然希望使用maven工具解决这个问题。

提前感谢您的帮助。

修改

直接未在pom.xml

中指定未解决的工件

1 个答案:

答案 0 :(得分:0)

我在*-parent看到了几个依赖项。鉴于名称,我猜这些只是父母poms,可能不包含任何java源。对于其余的,你确定有java源的工件吗?

更新:我检查了您在问题中显示的列表是否有来源且没有。我注意到所有这些都包装POM。您可以在配置中包含<includeClassifiers>sources</includeClassifier>来跳过这些内容