在Eclipse中自动将项目构build到JAR中

我有一个Eclipse项目,我想将我的Java项目自动保存到JAR中。 我知道我可以select将项目导出到JAR中; 如果我做一个右键点击; 但是我真正想要的就是像Eclipse一样自动生成一个项目的.class文件并把它们放在目标文件夹中; 它也应该自动构build一个JAR,并在某个或某个特定位置复制最新的JAR。

有没有这样configurationEclipse的选项,自动构buildJAR?

只是为了让大家清楚,耐心回答我的问题; 我不看ANT作为解决scheme; 因为我已经使用它,但是我想要什么,它是通过基于时间的触发器自动启动的,或者是随着时间的变化而立即生成的。

看看Apache Ant

可以使用Ant来自动生成eclipse, 这里是如何实现的

你想要一个.jardesc文件。 他们不会自动启动,但它是在2点击。

  1. 右键点击你的项目
  2. select“ Export > Java > JAR file
  3. select包含的文件和名称输出JAR,然后单击Next
  4. 选中“将JAR的描述保存在工作区中”,然后为新的.jardesc文件select一个名称

现在,您只需右键单击.jardesc文件,然后select“ Create JAR ,然后将其导出到同一位置。

创build一个Ant文件并告诉Eclipse来构build它。 只有两个步骤,每个步骤都很容易,下面的步骤说明。


步骤1创build一个build.xml文件并添加到包资源pipe理器:

 <?xml version="1.0" ?> <!-- Configuration of the Ant build system to generate a Jar file --> <project name="TestMain" default="CreateJar"> <target name="CreateJar" description="Create Jar file"> <jar jarfile="Test.jar" basedir="." includes="*.class" /> </target> </project> 

Eclipse应该看起来像下面的截图。 注意build.xml上的Ant图标。 Eclipse项目中的Build.xml

步骤2右键单击项目中的根节点。 – select属性 – select构build器 – select新build – selectAnt构build – 在主选项卡中,完成bin文件夹中build.xml文件的path。

Ant构建器配置构建步骤 - “目标”选项卡

检查输出

Eclipse输出窗口(名为Console)应在构build后显示以下内容:

 Buildfile: /home/<user>/src/Test/build.xml CreateJar: [jar] Building jar: /home/<user>/src/Test/Test.jar BUILD SUCCESSFUL Total time: 152 milliseconds 

编辑:@yeoman和@betlista一些有用的评论

@yeoman我认为正确的包括将是/.class,而不是* .class,因为大多数人使用包,因此recursionsearch类文件比平包含更有意义

@betlista我会build议不要在src文件夹中有build.xml

这可以通过在eclipse中定义一个定制的生成器(参见Peter的答案中的链接)。 但是,除非您的项目很小,否则可能会让您的工作空间变得不可接受。 类文件的Autobuild会增量发生,也就是说,只有那些受到更改影响的类才会重新编译,但是每次保存更改时都必须重build和复制JAR文件。

关于Peter的答案和Micheal的补充,您可能会发现如何在Eclipse Java项目中自动生成.jar文件 。 因为即使你的项目上有“* .jardesc”文件,你也必须手动运行它。 它可能会冷却你的“日食点击麻烦”一点。

使用Thomas Bratt的上面的答案,只要确保你的build.xmlconfiguration正确:

 <?xml version="1.0" ?> <!-- Configuration of the Ant build system to generate a Jar file --> <project name="TestMain" default="CreateJar"> <target name="CreateJar" description="Create Jar file"> <jar jarfile="Test.jar" basedir="bin/" includes="**/*.class" /> </target> </project> 

(注意双星号 – 它会告诉build在所有子目录中查找.class文件。)

创build构build器启动器是一个问题,因为2个项目不能具有相同的外部工具构build名称。 每个名字必须是唯一的。 我目前正面临这个问题来自动化我的构build并将JAR复制到外部位置。

我正在使用IBM的Zip Builder,但这只是一个帮助,而不是真正的。

人们可以尝试使用IBM ZIP Creation插件。 http://www.ibm.com/developerworks/websphere/library/techarticles/0112_deboer/deboer2.html#download