是否有一种方法可以将maven配置为始终下载源代码和javadocs?每次指定-DdownloadSources=true -DdownloadJavadocs=true(这通常伴随着运行mvn compile两次,因为我忘记了第一次)变得相当乏味。


当前回答

只是整合和准备了一个命令来解决源代码和文档下载…

mvn dependency:sources dependency:resolve -Dclassifier=javadoc

其他回答

我认为每个插件都可以做到。请参阅Maven书中的这一章。

你可以配置依赖插件来下载源代码(尽管我自己没有尝试过:-)。

打开settings.xml文件~/.m2/settings.xml(如果它不存在就创建它)。添加添加了属性的部分。然后确保activeProfiles包含新的概要文件。

<settings>

   <!-- ... other settings here ... -->

    <profiles>
        <profile>
            <id>downloadSources</id>
            <properties>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </properties>
        </profile>
    </profiles>

    <activeProfiles>
        <activeProfile>downloadSources</activeProfile>
    </activeProfiles>
</settings>

编辑:正如Jingguo Yao提到的,这只适用于Eclipse IDE -同样也可以在您选择的IDE中配置。在Eclipse via Window -> Preferences -> Maven菜单中,尽管这可能必须在每个工作空间级别和新的Eclipse安装中完成。

或者在你的pom.xml中配置maven-dependency-plugin在一个单独的概要文件中,并根据需要运行它——将它保留在主构建中会导致在不需要源代码或java文档的构建节点上的构建时间(不必要的拉长(更不用说空间了)。最好在一些组织或部门的父pom.xml中配置,否则它将在不同的地方重复

为了跟踪kevinarpe的答案,这对sources和Javadocs都做了:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.1.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>sources</goal>
                            <goal>resolve</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <classifier>javadoc</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>

简单地修改文件mvn(或mvn。CMD(如果在windows中),并添加任何你需要的命令行开关(如其他答案所述)。如果您不想修改安装文件(我建议这样做),可以创建一个mymvn(或mymvn.cmd)包装器,该包装器调用带有参数的常规mvn。

我使用Maven 3.3.3,无法获得默认配置文件在用户或全局设置.xml文件中工作。

作为一种变通方法,您还可以在pom.xml文件中添加一个额外的构建插件。

<properties>
    <maven-dependency-plugin.version>2.10</maven-dependency-plugin.version>
</properties>
<build>
    <plugins>
        <!-- Download Java source JARs. -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>${maven-dependency-plugin.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>sources</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>