为什么maven 运行 相同的pom 在两台电脑上不同?
Why is maven running the same pom differently on two computers?
我和我的同事正试图在 相同的 pom 上调用 相同的 Maven 命令(mvn 站点) 并且完全 不同的输出.
我们认为出错的代码是我们最近添加的javadoc-plugin:
<!-- https://maven.apache.org/plugins/maven-javadoc-plugin/ -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${version.javadoc.plugin}</version>
<configuration>
<destDir>javadoc</destDir>
<charset>UTF-8</charset>
<docencoding>UTF-8</docencoding>
<doctitle>${project.name} API Documentation
${project.version}.${svn_revision}</doctitle>
<encoding>UTF-8</encoding>
<failonerror>false</failonerror>
<footer>Specification: ${specification.title}</footer>
<header>${project.name} API Documentation
${project.version}.${svn_revision}</header>
<source>1.8</source>
<use>true</use>
<version>true</version>
<windowtitle>${project.name} API Documentation
${project.version}.${svn_revision}</windowtitle>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>deploy</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
运行 这 使我在目标文件夹中获得正确的 javadoc-generation。当我将它推送到 svn 存储库并且我的伙伴下载时,它对他不起作用。
没有错误也没有警告,它只是不生成 javadoc。
附加信息:
- 我们没有使用任何本地 settings.xml。
- mvn site -X(调试模式)的输出对 javadoc-plugin 没有任何影响。
- 他已经重新安装了 jdk 并重新设置了他的 $JAVA_HOME。
- 相同的 Maven 版本
可能是什么问题?
提前致谢
运行 mvn -v
以确保您使用的是相同的 Maven 和 Java 版本。该命令将打印 Java 运行 时间的路径,确保它们相同且正确。
如果检查通过,运行 mvn help:effective-pom
看看 Maven 将执行什么。将两台机器上的输出重定向到一个文件并进行比较。
接下来,尝试直接从命令行调用插件。如果可行,附加到生命周期由于某种原因不起作用。如果它不起作用,请检查错误消息并使用 -X
检查插件配置。
如果一切都失败了,请删除您的本地 Maven 存储库(或至少涉及的插件)。
我和我的同事正试图在 相同的 pom 上调用 相同的 Maven 命令(mvn 站点) 并且完全 不同的输出.
我们认为出错的代码是我们最近添加的javadoc-plugin:
<!-- https://maven.apache.org/plugins/maven-javadoc-plugin/ -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${version.javadoc.plugin}</version>
<configuration>
<destDir>javadoc</destDir>
<charset>UTF-8</charset>
<docencoding>UTF-8</docencoding>
<doctitle>${project.name} API Documentation
${project.version}.${svn_revision}</doctitle>
<encoding>UTF-8</encoding>
<failonerror>false</failonerror>
<footer>Specification: ${specification.title}</footer>
<header>${project.name} API Documentation
${project.version}.${svn_revision}</header>
<source>1.8</source>
<use>true</use>
<version>true</version>
<windowtitle>${project.name} API Documentation
${project.version}.${svn_revision}</windowtitle>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>deploy</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
运行 这 使我在目标文件夹中获得正确的 javadoc-generation。当我将它推送到 svn 存储库并且我的伙伴下载时,它对他不起作用。
没有错误也没有警告,它只是不生成 javadoc。
附加信息:
- 我们没有使用任何本地 settings.xml。
- mvn site -X(调试模式)的输出对 javadoc-plugin 没有任何影响。
- 他已经重新安装了 jdk 并重新设置了他的 $JAVA_HOME。
- 相同的 Maven 版本
可能是什么问题?
提前致谢
运行 mvn -v
以确保您使用的是相同的 Maven 和 Java 版本。该命令将打印 Java 运行 时间的路径,确保它们相同且正确。
如果检查通过,运行 mvn help:effective-pom
看看 Maven 将执行什么。将两台机器上的输出重定向到一个文件并进行比较。
接下来,尝试直接从命令行调用插件。如果可行,附加到生命周期由于某种原因不起作用。如果它不起作用,请检查错误消息并使用 -X
检查插件配置。
如果一切都失败了,请删除您的本地 Maven 存储库(或至少涉及的插件)。