【问题标题】:Maven Javadoc Plugin During Site Goal: javadoc: error - java.lang.OutOfMemoryError: Please increase memory站点目标期间的 Maven Javadoc 插件:javadoc:错误 - java.lang.OutOfMemoryError:请增加内存
【发布时间】:2013-04-27 00:26:48
【问题描述】:

我一直在努力通过我的 pom 文件增加我的 javadoc 插件的内存。由于某种原因,我的 Mac 构建从站在 site 目标期间失败并出现 OutOfMemoryError。我尝试通过 pom 的 pluginManagement 部分调整 javadoc 插件的 maxmemory(根据 maven-javadoc-plugin documentation):

...
<build>
  ...
  <pluginManagement>
    <plugins>
      ...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.8.1</version>
        <configuration>
          <maxmemory>512m</maxmemory>
        </configuration>
      </plugin>
    </plugins>
  <pluginManagement>
  ...
</build>
...

这似乎没有任何帮助,我的构建仍然因内存不足错误而失败。

所以我决定将其直接放在我的插件声明中(请参阅下面的 build-plugins-plugin 部分:

...
<build>
  ...
  <pluginManagement>
    <plugins>
      ...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.8.1</version>
      </plugin>
      ...
    </plugins>
  <pluginManagement>
  <plugins>
    ...
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-javadoc-plugin</artifactId>
      <configuration>
        <maxmemory>512m</maxmemory>
      </configuration>
    </plugin>
    ...
  </plugins>
  ...
</build>
...

...但这仍然不起作用,Mac build slave 在站点目标期间仍然失败。

【问题讨论】:

    标签: maven-3 maven-javadoc-plugin


    【解决方案1】:

    原来我是个白痴。 site 目标使用在 pom 的报告部分中声明的插件定义。因此我不得不在这里添加我的最大内存配置,见下文:

    ...
    <build>
      ...
      <pluginManagement>
        <plugins>
          ...
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.8.1</version>
          </plugin>
        </plugins>
      <pluginManagement>
      ...
    </build>
    ...
    <reporting>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.8.1</version>
          <configuration>
            <maxmemory>512m</maxmemory>
          </configuration>
        </plugin>
      </plugins>
    </reporting>
    ...
    

    基于此结果,我假设 Maven 不会为 reporting 中定义的插件获取 pom 的 build-pluginManagement 部分中定义的配置详细信息部分。干杯。

    【讨论】:

    • 原来报告插件不会从 build-pluginManagement 部分获取版本信息。我刚刚在我的 mvn 执行开始时注意到了一些警告。
    • 让我把事情进一步复杂化...我正在使用 maven-release-plugin 的 perform 目标将我发布的项目部署到我们的存储库。在运行 javadoc 插件时,我再次遇到内存不足的错误。为了在这种情况下修复它,我实际上不得不增加 标记中的内存。 Sheesh...令人困惑的权利。
    猜你喜欢
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 2017-01-29
    相关资源
    最近更新 更多