0

我制作了一个简单的标准独立 java 应用程序,Spring,Apache Camel,Activemq用于处理消息。

注意:我的应用程序没有任何 GUI。

我的项目结构如下。

在此处输入图像描述

SACLib文件夹有近 70 个外部 jars(所有 Spring、Camel 和 Activemq 对应的 jars)。

它在Eclipse. 所以现在我们要部署到文件中。我Jar试过了Eclipse,但我没有Rod1,Rod2,Copy1 and SACLib在我的文件中看到文件夹Jar

部署后Jar,如果我运行FirstConsumer.java它运行Rod1-->ThMapInfratab1-2.exe文件。为此,我提到了.exe文件的真实路径。

如何制作包含我所有文件夹的 Jar 文件。

谢谢

4

2 回答 2

3

嗯,这是一种通常使用Apache AntMavenGradle等构建自动化工具完成的工作,因此如果您希望下次自动执行此操作,您可以在那里进行调查。

但是,如果您想手动执行...

首先,您的项目需要一个META-INF文件夹,您将在其中放置一个名为MANIFEST.

该清单包含一个Main-Class指向您的主类的条目。您可以在 Java 教程:设置应用程序的入口点中了解这一点。

但它也可以包含一个Class-Path条目,指向您的应用程序所需的所有其他 jar,并且应该由可执行 jar 加载。

您可以阅读 Java 教程:将类添加到您的 Jar 类路径中。

如果您使用 Eclipse 构建可执行 jar,它将允许您选择要在创建过程中使用的 MANIFEST 文件。

现在,如果您想使用构建自动化工具,这里还有其他答案可以解释如何做到这一点:

于 2013-09-23T12:46:52.330 回答
2

只需使用ant下载它,然后制作一个build.xml文件并放入它

这是一个 ant 目标的简单示例,它将创建一个 jar(名为 test.jar),其中包含 lib 目录下的所有 jar 文件。也许这会解决你的问题?

要使用 apache ant,请参阅此

http://ant.apache.org/manual/using.html

于 2013-09-23T13:00:49.003 回答