以下是我的 java 应用程序的目录结构:
application.jar
dependency-jars
a.jar
b.jar
c.jar
当我使用以下命令时,应用程序执行良好:java -cp "application.jar;dependency-jars/*" com.my.Application
. 除了应用程序依赖项之外,“dependency-jars”文件夹还将包含由其消费者丢弃的 jars。我想让它成为一个可执行的 jar,以便它的消费者可以轻松调用它。为了创建可执行 jar,我正在使用 maven jar 插件。我想模拟上面的命令行。我使用了以下 maven jar 插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>com.my.Application</mainClass>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<Class-Path>dependency-jars/*</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
执行时生成的 jar 在运行时无法找到其依赖项。以上是不是有什么问题。
谢谢。