如何解决 Maven exec 插件:类路径太长错误?

2024-04-08

我有一个大型 Java 项目,其中有大量 jar 文件依赖项。当我尝试从 Eclipse 或 Netbeans 运行项目(使用 exec)时,Maven 抛出异常,结果是类路径上的条目数量过多(仅包含所需条目的 2/3)。有谁知道这个问题的解决方法? (除了构建可执行 jar 并从终端运行它。)是否可以“扩展”“类路径缓冲区”大小?


这是一个 Maven exec 插件错误,记录在MEXEC-68 https://jira.codehaus.org/browse/MEXEC-68,记者创建了一个补丁,希望尽快解决。

一种解决方法是使用 maven-jar-plugin 的此配置将类路径添加到清单文件中,将依赖项添加到文件夹中,然后仅将该文件夹添加到 CLASSPATH envvar 中。

例如:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        ...
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
            </manifest>
          </archive>
        </configuration>
        ...
      </plugin>
    </plugins>
  </build>
  ...
</project>

这将添加到清单中,如下所示:

Class-Path: plexus-utils-1.1.jar commons-lang-2.1.jar

如果该 JAR 位于 CLASSPATH 文件夹中,您可以使用 maven exec 插件运行 JAR,隐藏类路径,如下所示:

mvn exec:exec [...] -Dexec.classpathScope="test"

我使用 -Dexec.classpathScope="test" 使插件忽略依赖项并仅添加范围测试中的依赖项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决 Maven exec 插件:类路径太长错误? 的相关文章

随机推荐