tangguo

Maven-如何将任意的类路径条目添加到jar中?

Maven2

我有一种不寻常的情况,我需要在可执行jar的清单中添加一个任意的classpath条目(指向jar文件)。(这是针对Swing桌面应用程序的。)

maven-jar-plugin使用maven依赖项为jar清单生成“ Class-Path”条目,并且似乎没有任何添加任意条目的方法。

我还研究了使用“ -classpath”参数将任意类路径条目硬编码到启动应用程序的批处理文件中,但是我不知道如何使Maven将类路径过滤到批处理文件中。


阅读 440

收藏
2020-10-12

共1个答案

小编典典

我发现有一个解决此问题的简便方法。您可以将一个<Class-Path>元素添加到<manifestEntries>element,然后设置<addClassPath>true</addClassPath><manifest>element。因此<Class-Path>element的值会自动添加到class-path中。例:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <configuration>
    <archive>
      <manifest>
        <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
        <addClasspath>true</addClasspath>
        <mainClass>your.main.Class</mainClass>
      </manifest>
      <manifestEntries>
        <Class-Path>../conf/</Class-Path>
      </manifestEntries>
    </archive>
  </configuration>
</plugin>
2020-10-12