在Eclipse中自动将项目构build到JAR中
我有一个Eclipse项目,我想将我的Java项目自动保存到JAR中。 我知道我可以select将项目导出到JAR中; 如果我做一个右键点击; 但是我真正想要的就是像Eclipse一样自动生成一个项目的.class
文件并把它们放在目标文件夹中; 它也应该自动构build一个JAR,并在某个或某个特定位置复制最新的JAR。
有没有这样configurationEclipse的选项,自动构buildJAR?
只是为了让大家清楚,耐心回答我的问题; 我不看ANT作为解决scheme; 因为我已经使用它,但是我想要什么,它是通过基于时间的触发器自动启动的,或者是随着时间的变化而立即生成的。
看看Apache Ant
可以使用Ant来自动生成eclipse, 这里是如何实现的
你想要一个.jardesc
文件。 他们不会自动启动,但它是在2点击。
- 右键点击你的项目
- select“
Export > Java > JAR file
- select包含的文件和名称输出JAR,然后单击
Next
- 选中“将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图标。
步骤2右键单击项目中的根节点。 – select属性 – select构build器 – select新build – selectAnt构build – 在主选项卡中,完成bin文件夹中build.xml文件的path。
检查输出
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