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


当前回答

对于intellij用户,在pom.xml文件中,右键单击任意位置并选择Maven ->下载源代码和文档。

其他回答

为了跟踪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>

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

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

我使用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>

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

正如@xecaps12所说,最简单/有效的方法是更改Maven设置文件(~/.m2/settings.xml),但如果它是您的默认设置,您也可以这样设置

<profile>
  <id>downloadSources</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <properties>
      <downloadSources>true</downloadSources>
      <downloadJavadocs>true</downloadJavadocs>
  </properties>
</profile>