2013-06-30 51 views
0

我已经包含XML,DB等这样的实用工具类的实用程序Java项目。这需要第三方对一些Apache公共库的依赖,所以我通过配置eclipse Juno中的构建路径将它添加到了我的java项目中。现在我想将这个java项目导出为jar文件。当我将这个项目导出为可运行jar文件时,它工作正常,即如果我将这个jar包含在其他java项目中,我可以访问实用程序类,但是当我只是将实用程序项目导出为jar时,我无法使用它。 Runnable jar需要一个主类,但我不想在我的实用程序java项目中保留一个主类。我已经比较了这两个jar文件。我发现的区别在于,在可运行jar文件中,没有.classpath文件,但是存在一个简单的jar文件。在可运行的jar文件中,所有的jar文件在名为MANIFEST-INF.mf文件的文件中提到,但是在简单的jar文件中它只包含.mf文件的版本。任何人都可以告诉我如何在没有主类的情况下创建一个jar文件,并将其用于其他java项目,以便我只需包含jar文件并按原样使用它。如何将Java项目导出为jar文件

+0

快速浏览一下在行家。也许它解决了你的问题。 http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html – smsnheck

+0

由于我寻找到的maven太备份计划。但是这真的很简单,我应该可以从eclipse本身做到这一点,不是吗?你的意思是说,我的上述情况是不可能通过日食? –

+0

连这家伙有同样的问题:http://stackoverflow.com/questions/16422892/how-to-export-a-jar-file-including-my-classes-and-other-jar-files-extracted-us ?rq = 1但没有人通过eclipse提供了解决方案 –

回答

0

如果你只是导出项目JAR文件,你可以通过打包使用Apache Ant工具的jar(战争)。 做这样的事情:

<jar destfile="${dist}/lib/app.jar" 
    basedir="${build}/classes" 
    excludes="**/Test.class" 
/>` 
0

我认为它并没有在Eclipse提供了,因为在一个实用工具项目中提取外部第三方库类的东西不规范。随着项目的发展,它可能会导致很多问题,阶级冲突就是其中之一。
如果你想继续你的方法,你可以将你的项目导出为普通的jar项目。此后,打开您的项目以及其他第三方库,如7zip,并将第三方库内容(META-INF除外)拖放到项目罐中。就这样。
不过,若你想自动执行它,蚂蚁将成为你的朋友。

+0

我只是想知道如何Apache公共或dom4j或log4j或任何其他罐子......这些罐子是不是可执行文件,仍然可以包括他们在他们的项目和使用它? –

+0

@MrunalGosar但是这些罐子不包括外部依赖类。如果您只是想将您的课程导出为jar,则此功能已可用。 –

相关问题