如何打包maven jar并将结果jar文件的多个副本输出到不同的文件夹?

mfuanj7w  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(362)

和标题差不多。我正在为运行在bungeecord下的服务器构建minecraft插口插件,并在intellij中运行mvn包插件,结果生成的jar文件位于项目的“target”文件夹中。相反,我需要将生成的jar的多个副本输出到不同服务器的多个“plugin”文件夹中。我不确定如何或是否可以用maven实现这一点,但我想知道pom.xml中是否有实现这一点的方法。每次构建jar时都要复制它,这会减慢开发过程。任何帮助都将不胜感激!

xghobddn

xghobddn1#

你应该能够实现同样的事情与符号链接(符号链接)。它允许文件系统引用另一个文件位置,而无需实际创建显式副本(有点像快捷方式)。这也更符合maven哲学的精神,即每个项目应该只构建一个工件。
如何创建符号链接取决于您的操作系统。您需要为每个需要“复制”到的单独位置创建一个符号链接。
mac/linux系统:

  1. ln -s /project/target/my.jar /project/server/plugin1

Windows:

  1. mklink /project/target/my.jar /project/server/plugin1

有关符号链接的其他信息(例如,如果需要删除):
https://www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/https://www.howtogeek.com/297721/how-to-create-and-use-symbolic-links-aka-symlinks-on-a-mac/
在maven中构建多个jar相当棘手。请看这篇文章,了解更多细节-如果这是您真正想要的,它建议您使用maven ant插件,但我建议您不要使用这种方法。符号链接应该更容易使用。
ant到maven-多个构建目标

相关问题