我有一个 Java 控制台应用程序,到目前为止它是在 Netbeans IDE 中开发的。当 Netbeans 构建应用程序时,它会创建dist
目录并将应用程序构建到此目录中作为 jar 存档并dist/lib
复制所有依赖项。这个目录可以被复制到最终目的地并运行。
现在我正在尝试将这个项目转移到 Maven 中。一切正常,我可以编译和打包我的应用程序,并在target
目录中创建一个 jar。我用来maven-jar-plugin
在清单中设置主类并将maven-shade-plugin
所有源打包到一个 jar 文件中。
想问一下,这样的Maven项目在现实世界中是如何部署的?我应该使用所有target
目录,将其复制到最终目的地并像以前使用 Netbeans 那样运行吗?当我不使用时会有什么后果maven-shade-plugin
- 所有定义为依赖项的库都位于哪里?我在问,因为在我的测试项目中,这些库不存在于target
目录中。
我的问题 - 我有一个通过 Maven 打包的 Java 控制台应用程序“A”(不带maven-shade-plugin
)和应该运行该应用程序的 Linux 服务器“S”。我可以手动将所有目标目录复制到服务器“S”还是有更好/更自动的方法在现实世界中如何解决?