如何使用外部文件夹和Jars创建Jar文件

时间:2013-09-23 12:33:24

标签: java spring jar executable-jar

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

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

我的项目结构如下。

enter image description here

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

它在Eclipse中运行良好。现在我们要部署到Jar文件中。我在Eclipse中尝试过,但我没有在Rod1,Rod2,Copy1 and SACLib文件中看到Jar个文件夹。

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

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

由于

2 个答案:

答案 0 :(得分:2)

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

但是,如果你想手动完成......

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

该清单包含指向您主类的Main-Class条目。您可以在Java教程中阅读:Setting Application's Entry Point

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

您可以阅读Java教程:Adding Classes to your Jar Class Path

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

现在,如果您想使用构建自动化工具,此处还有其他答案可以解释如何执行此操作:

答案 1 :(得分:2)

只需使用ant下载它,然后创建一个build.xml文件并将其放入

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

使用apache ant,请参阅

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