如何打包一个maven jar并将生成的jar文件的多个副本输出到不同的文件夹



差不多就是标题所说的。我正在为BungeeCord下运行的服务器构建Minecraft Spigot插件,并在IntelliJ中运行mvn包插件,结果生成的JAR文件位于项目的";目标";文件夹相反,我需要将生成的JAR的多个副本输出到多个";插件";用于各种服务器的文件夹。我不确定Maven如何或是否可以做到这一点,但我想知道pom.xml中是否有这样的方法。每次构建JAR时都必须复制它,这会减慢开发过程。如有任何帮助,我们将不胜感激!

您应该能够使用符号链接(符号链接(实现同样的功能。它允许文件系统在不进行显式复制(有点像快捷方式(的情况下引用另一个文件位置。这也更符合maven哲学的精神,即每个项目应该只构建一个工件。

如何制作符号链接取决于您的操作系统。你需要为每个单独的位置制作一个符号链接;复制";至.

Mac/Linux:

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

Windows:

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插件,但我建议不要使用这种方法。Symlinks应该更容易使用。

Ant到Maven-多个构建目标

最新更新