在Eclipse中,如何将包和所有子包导出为jar?

时间:2013-06-18 17:43:36

标签: java eclipse

我正在尝试将特定包及其子包导出为Eclipse中的不可运行的jar。我右键单击要导出的包,然后点击“导出”。但是,当我导出jar时,它只导出我选择的顶级包及其所有类。

我想要的是自动导出所有子包。到目前为止,我能够做到这一点的唯一方法是实际选择每个子包(及其子包等)以便导出。有没有办法自动选择所有子包进行导出?

一个例子(带图片):

我想将“bar1”包导出为jar。我右键单击bar1包,单击“导出”并选择JAR。但是,bar1的子包“util”。默认情况下未选中,不会导出。如果我想导出bar1的子包,我需要单独选择它们。如果有很多包,那就太痛苦了。当我尝试导出“bar1”包时,有没有办法让Eclipse添加“util”子包用于导出?

enter image description here

3 个答案:

答案 0 :(得分:2)

我认为你所拥有的是正确的,并且没有很多自动化或更简单的方法,只需点击它来选择特定的包和子包。但是,我认为您可以使用antmaven为您执行此操作,这样可以更加自动化,更轻松。以下是如何在ant中选择特定包:

<dirset dir="aDirectory">
    <include name="a/package/**"/>
    <exclude name="**/package/to/exclude**"/>
</dirset>

答案 1 :(得分:0)

转到file-&gt; export-&gt; JAR文件,在那里您可以选择“导出生成的类文件和源”,并确保选择了您的项目,并且其下的所有文件夹也都是!另外,请确保它们位于构建配置中 - &gt;订单和导出区域,并检查它们是否已导出。

如果其他所有方法都失败了,请尝试FatJar。它会检测所有依赖项并自动将它们捆绑到JAR中。在Eclipse中,您可以通过使用Java项目的Build Fat Jar选项来使用FatJar。

答案 2 :(得分:0)

我发现的最佳方法是将Package Explorer视图设置为Flat而不是Hierarchical(triangle - &gt; Package presentation - &gt; Flat)

然后选择以bar1开头的所有包,右键单击,导出。