2012-09-18 51 views
1

我有一个在Eclipse中工作的Java项目。我有我的所有代码在src。 Eclipse会自动编译我的.java文件并将.class文件存储在名为tmp的目录中。从Jar运行我的java项目

早些时候,我起诉Ant来运行我的项目。我的ant脚本会编译我的Java代码,并将所有的.class文件打包成一个.jar文件,并将其存储到一个jar目录中。在这个jar目录中,我有一些其他文件,例如settings.cfgdata.lst。我的应用程序需要这些文件才能运行,但它们不应该包含在Jar中。它们将与我的JAR一起部署,并应驻留在同一个目录中。目前在开发过程中,我修改和定制了我的设置和属性文件以包含其他信息。我不希望这些文件每次都有新的版本替换,因为我希望数据在整个版本中保持不变。我只是想将内置的JAR加入jar目录并执行它。其余的文件保持不变。

如何配置我的Eclipse,以便它始终编译我的代码,将它JAR到jar目录并执行该JAR。这样,我的“额外文件”总是和JAR在同一个地方。

我在计算如何实现这一点时遇到了很多麻烦。

+1

你为什么不在你的Eclipse项目中使用你之前的ant脚本? Eclipse可以使用相同的ant脚本来构建项目。 – Garbage

+0

我试过了。现在它调用构建JAR的我的Ant任务“build”的一部分。这一步将所有.java文件编译到'tmp'目录下的.class文件中,并从这些文件创建一个JAR到'jar'目录。我的Ant文件中还有另一个步骤,在从上一步构建它之后执行JAR。如果我修改我的Eclipse构建配置来调用Ant的'execute'任务,Ant会运行它,但是Eclipse仍然可以执行诸如连接调试器等操作,因为JAR不是由Eclipse执行的,而是由Ant ? –

+0

@垃圾,我试过了,但现在看来,Ant正在执行应用程序而不是Eclipse。 –

回答

0

答案在另一个SO帖子中找到。这是关于创建一个新的“运行配置”,删除默认的类路径条目,并添加包含JAR的文件夹,即jar目录以及JAR文件本身。

这里:https://stackoverflow.com/a/1732316/304151

我也不得不修改构建配置一点。对于自动构建,它使用Java Builder将所有.java文件编译为.class文件并将其存储在tmp目录中。我使用自定义Ant任务将tmp目录中的所有.class文件打包到JAR中,并将其存储在jar目录中。这是Eclipse执行的文件。

-1

在你的项目中,右键单击属性,在“Java构建路径”菜单中,您可以在源选项卡中设置“默认的输出目录”,并使其指向JAR目录:如果您需要此功能的快速

+0

这意味着它会将所有.class文件转储到该目录中。我希望它能够运行JAR。 –

2

运行/调试,创建新的运行配置,并在参数选项卡中,工作目录指定“jar”目录。

+0

这不是说我正在运行.class文件而不是JAR吗?下面的Yodamad似乎也提出了同样的建议。 –

+0

您的回答很接近。给予好评。 –