【问题标题】:Copying data files upon build in Java/Eclipse在 Java/Eclipse 中构建时复制数据文件
【发布时间】:2011-08-02 05:43:15
【问题描述】:

除了我的 java 源代码之外,我还有一些数据文件,我想在构建源代码时将它们复制到构建目录。目前我没有使用任何构建工具(例如 maven 或 ant),而是仅在 Eclipse 中开发和运行单元测试。 我可以以某种方式让 Eclipse 在构建我的 java 代码时复制这些数据文件吗?

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

    首先创建一个新的源文件夹,将其命名为 res,您可以使用此文件夹来存储数据文件。接下来打开项目属性的 Java Build Path 部分(从项目的上下文菜单中)。选择来源标签。在此选项卡中,您可以控制每个源文件夹的输出文件夹。默认情况下,eclipse 在构建期间将源文件夹中的所有非 java 文件复制到输出目录。

    【讨论】:

    • 碰巧,您知道如何在 C++ 项目中完成相同的操作吗?我在源文件夹中创建了一个文件,默认情况下似乎没有复制它。此外,我在 C++ 项目的属性中找不到等效的“Java 构建路径”
    【解决方案2】:

    与蚂蚁一起去。老实说,这是应用构建过程自动化的最佳解决方案。

    我不经常使用 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>
    
     

    一切顺利,波罗。

    【讨论】:

    • 谢谢。我想我会开始在 near 特性中使用 Ant。似乎比普通的 Eclipse 灵活得多。不错且内容丰富的答案!
    【解决方案3】:

    Eclipse 并不是真的要复制东西(它可能有那个特性,我不知道)。就像你提到的那样,这是 Maven 或 Ant 的工作。但是,对于您的 JUnit 测试,您有几个选择...

    【讨论】:

      猜你喜欢
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 2011-08-10
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多