1

视窗 7 专业版

日食 3.7.2

我正在从另一个 IDE 迁移到 Eclipse。我正在使用我之前使用的相同 ANT build.xml 文件编译我的项目。我这样做

  1. 在项目视图中突出显示我的项目
  2. 扩展树节点
  3. 在那里找到我的 build.xml 文件
  4. 右键单击我的 build.xml 文件
  5. 选择运行方式 > Ant Build

效果很好,但每隔几个构建 Eclpise 就会吃掉我位于以下位置的 log4j.properties 文件:

C:\AllProjects\Workspace\acme\war\WEB-INF\classes\log4j.properties

Eclipse 基本上会吃掉 WEB-INF\classes 中所有不是 *.class 文件的文件。

我正在做些什么来实现这一点,我该如何阻止它?

谢谢

4

2 回答 2

1

由于您使用 ant 而不是 Eclipse 来构建,您可以尝试关闭设置以自动构建项目。

选择您的项目,然后在屏幕顶部的菜单栏中,选择Project并取消选中该Build Automatically选项。

编辑:第二意见

WEB-INF/classes每次您进行构建时,我都会添加一个 ant 任务将 log4j 属性文件复制到您的文件夹中。这样做的一个很好的优点是您可以为不同的构建类型(调试、发布)拥有不同的属性文件,而不必担心手动对其进行更改。此外,如果您使用版本控制,这应该更容易管理。

将你的log4j.properties文件复制到你的源目录并在你的 ant 构建文件中添加类似这样的内容:

<target name="copy-log4j-property-file">
    <copy file="src/log4j.properties" todir="WEB-INF/classes" />
</target>

<target name="build" depends="copy-log4j-property-file">
    <!-- the rest of your build things here -->
</target>
于 2013-09-06T19:28:02.190 回答
1

在项目资源管理器中选择后:

属性 > Java 编译器 > 构建 > 输出文件夹

取消选中“清理项目时清理输出文件夹”

这对我来说是一个解决方案(尽管可能不是每个人),因为我使用时间测试 ANT build.xml 来为我进行编译、构建和清理。我只是保留了 Eclipse 的自动构建,因此在我编译之前,我会在键入时收到那些不错的错误通知。

于 2013-09-11T17:40:34.767 回答