我使用 Spring、Apache Camel、Activemq 制作了一个简单的标准独立 java 应用程序来处理消息。
注意:我的应用程序没有任何 GUI。
我的项目结构如下。
SACLib
文件夹有近70个外部jar(都是Spring、Camel和Activemq对应的jar)。
它在 Eclipse
中运行良好。所以现在我们想要部署到 Jar
文件中。我在 Eclipse
中尝试过,但我没有看到 Rod1、Rod2、Copy1 和 SACLib
文件夹在我的 Jar
文件中。
部署Jar
后,如果我运行FirstConsumer.java
,它会运行Rod1-->ThMapInfratab1-2.exe
文件。为此,我提到了 .exe
文件的真实路径。
如何制作包含所有文件夹的 Jar 文件。
谢谢
最佳答案
嗯,这种工作通常是通过像 Apache Ant 这样的构建自动化工具来完成的。 , Maven或Gradle ,因此如果您想让下次自动发生这种情况,您可以在那里进行调查。
但是,如果您想手动执行...
首先,您的项目需要一个 META-INF
文件夹,您将在其中放置一个名为 MANIFEST
的文件。
该 list 包含一个指向您主类的Main-Class
条目。您可以在 Java 教程中阅读相关内容:Setting Application's Entry Point .
但它也可以包含一个 Class-Path
条目,指向应用程序所需的所有其他 jar,并且应由可执行 jar 加载。
您可以阅读 Java 教程:Adding Classes to your Jar Class Path .
如果您使用 Eclipse 构建可执行 jar,它会让您选择要在创建过程中使用的 MANIFEST 文件。
现在,如果您想使用构建自动化工具,这里还有其他答案解释了如何操作:
关于java - 如何使用外部文件夹和 Jars 创建 Jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18959331/