是否可以使用maven创建一个可执行jar,可以在不创建新的可执行jar的情况下用更新版本的库替换特定库?
答案 0 :(得分:1)
是的,您应该定义provided
dependency,例如:
<dependency>
<groupId>group-a</groupId>
<artifactId>artifact-b</artifactId>
<version>[1.0,)</version>
<type>bar</type>
<scope>provided</scope>
</dependency>
确保运行时应用程序类路径上的依赖项可用。例如,使用java命令运行可执行jar:
java -jar MyExecutableJar.jar -cp /path/to/my/library.jar
然后,您可以构建可执行jar并运行它。使用这种方法没有几个缺点:
[1.0,)
告诉Maven我需要1.x或更高版本,您可以根据您的上下文进行调整。 话虽这么说,我不知道你为什么要在这样的条件下制作一个JAR,但是每次你需要一个更新的版本而不是保留它或改变你的时候,你可能会更好地重建你的JAR。依赖和项目架构。这样做是违反最佳实践和Maven设计的。
如果您提供更多上下文,我会尝试解释更多。