gpt4 book ai didi

java - Maven 插件依赖项包含在 MANIFEST.MF 中

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:24:03 28 4
gpt4 key购买 nike

我正在尝试在 Eclipse-IDE(Version Kepler Service Release 2; Maven 3.0.4) 的 MANIFEST.MF 中构建一个具有有效类路径的 jar。我的pom.xml中maven-jar-plugin的相关配置是

<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<classpathLayoutType>custom</classpathLayoutType>
<customClasspathLayout>$${artifact.artifactId}-$${artifact.version}.$${artifact.extension}</customClasspathLayout>
</manifest>
</archive>
</configuration>
</plugin>

然而,这并没有像预期的那样工作。例如,我正在使用 findbugs-maven-plugin,这个插件创建了一些 Maven-Dependencies,即我本地存储库中的 findbugs-maven-plugin-2.5.4.jar。这是 findbugs-plugin 的配置

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.4</version>
<configuration>
<findbugsXmlOutput>true</findbugsXmlOutput>
<xmlOutput>true</xmlOutput>
<!-- Optional directory to put findbugs xdoc xml report -->
<xmlOutputDirectory>target/findbugs</xmlOutputDirectory>
</configuration>
</plugin>

这没问题,但这种依赖性也会出现在我的 MANIFEST.MF 的类路径条目中,如下所示(摘录):

lib/findbugs-maven-plugin-2.5.4.jar

问题是,我不知道如何禁用此行为。

到目前为止我尝试过的:使用 maven-dependency-plugin 并定义 excludeGroupId 和 excludeArtifactId 条目,这解决了另一个问题,其中依赖项全部复制到目标目录中的 lib-Folder。

显然我在这里遗漏了一些东西。

最佳答案

好的,我设法解决了这个问题。

依赖项来 self 正在处理的模块库。它定义了对 findbugs-maven-plugin-2.5.4.jar 的依赖。此依赖项已被 maven 识别并放置在我要构建的 jar 的类路径中。

可以在这里找到这个问题的解决方案 http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html .可以定义对传递库的排除。因此,对 base ind my 模块的依赖必须写成:

<dependency>
<groupId>base</groupId>
<artifactId>base</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
</exclusion>
</exclusions>
</dependency>

感谢 Tome,他终于为我指明了正确的方向!

关于java - Maven 插件依赖项包含在 MANIFEST.MF 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24610438/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com