java - 部署 Java 应用程序。如何?

标签 java eclipse export compilation executable-jar

我是 Java(和 Eclipse)新手,但我已经大量使用过 .NET(和 Visual Studio)。我还了解编译 C/C++ 代码之类的事情。我知道最后我会得到一个 EXE 或一个可以从命令行运行的漂亮二进制文件。

我一直在制作一个使用一些外部库的 Java 实用程序。我需要将其编译为可执行文件,以便可以在 UNIX 计算机上从命令行运行,但我找不到任何方法来执行此操作。

我可以在 Eclipse 中构建并运行/调试,但这对我来说没有用,因为此代码将在 Web 服务器上运行。我只需要将所有依赖项编译到一个文件中,但在 Google 上搜索了几个小时后,我能找到的最好的东西是 Eclipse 的 Fat-JAR 插件,使用该插件后,当我尝试运行该文件时,我只收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: Network/jar

这真的让我很困惑,因为这是一件非常重要的事情,我确信我一定错过了一些非常明显的东西,但正如我所说,经过几个小时的搜索,我一无所获。

我非常感谢您能给我的任何帮助。谢谢。

最佳答案

如果您使用Maven构建您的java应用程序(每个主流IDE都可以完成),然后你可以使用maven Shade Plugin构建一个阴影 jar 文件;这是一个包含所有依赖项的 jar 文件。

阴影 jar 可以从命令行运行,如下所示:

java -jar myjar.jar command line options

关于java - 部署 Java 应用程序。如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614502/

相关文章:

java - 无法在目录中找到 feature.xml

java - Ant 中的 "Failed to create task or type antlib:org.apache.maven.artifact.ant:mvn"错误

java - 在 JFrame 上调用 JPanel

java - 使用同一个类 Spring 多个 @ConfigurationProperties

java - 如果 "Statement"语句更优,为什么需要 "prepared"对象?

python - 使用 python 从 Github 库中提取 CSV 文件

reactjs - 如何在我的 App.js View 中导入和使用此文件

c# - 从 C# 向 Java 应用程序的文本框发送 key

java - 如何在 Eclipse 中使用 CXF 使用 WebService

R - 转换数据时逐行导出,在某些地方添加 ""而不是其他地方,同时删除 NA