除了我的java源代码,我还有一些数据文件,我想在构建源代码时将其复制到构建目录。目前我没有使用任何构建工具(例如maven或ant),而是仅在Eclipse中开发和运行单元测试。 我可以以某种方式要求Eclipse在构建我的java代码时复制这些数据文件吗?
答案 0 :(得分:16)
首先创建一个新的源文件夹,调用res之类的东西,你可以使用这个文件夹来存储你的数据文件。接下来打开项目属性的 Java Build Path 部分(从项目的上下文菜单中)。选择来源标签。在此选项卡中,您可以控制每个源文件夹的输出文件夹。默认情况下,eclipse会在构建期间将源文件夹中的所有非java文件复制到输出目录。
答案 1 :(得分:3)
与Ant合作。说实话,这是应用程序构建过程自动化的最佳解决方案。
我经常不使用Eclipse。但我敢打赌必须有一个构建文件(build.xml),您可以在其中添加类似下面的代码,并在构建应用程序时始终执行它。
这就是我在我的一个项目的构建文件中执行此操作的方法。我在这里将两个文件夹及其所有内容复制到dist(在NetBeans中用作创建应用程序jar的分发文件夹),因此我可以在IDE外部轻松运行我的应用程序。
请注意,Eclipse中的目标名称可能不同。但是你应该找到构建文件中描述的正确的。
<!-- to copy data & images folders' contents to dist folder on build. -->
<target name="-post-jar" description="Copying Images">
<property name="images.dir" value="${dist.dir}/images" />
<property name="data.dir" value="${dist.dir}/data" />
<copy todir="${images.dir}">
<fileset dir="./images" />
</copy>
<echo level="info" message="Images folder content was copied."/>
<copy todir="${data.dir}">
<fileset dir="./data" />
</copy>
<echo level="info" message="Data folder content was copied."/>
</target>
一切顺利,博罗。
答案 2 :(得分:1)
Eclipse并不是真正意图复制的东西(它可能有这个功能,我不知道它)。就像你提到的那样,这是Maven或Ant的工作。但是,对于JUnit测试,您有几个选项......