Windows 7 Professional
日食 3.7.2
我正在从另一个 IDE 迁移到 Eclipse。 我正在使用之前使用的相同 ANT 构建.xml文件编译我的项目。 我做
- 在项目视图中突出显示我的项目
- 展开树节点
- 在那里找到我的构建.xml文件
- 右键单击我的构建.xml文件
- 选择"以 Ant Build>运行身份"
效果很好,但每隔几个构建 Eclpise 就会吃掉我的 log4j.properties 文件,该文件位于:
C:\AllProjects\Workspace\acme\war\WEB-INF\classes\log4j.properties
Eclipse 基本上吃掉了 WEB-INF\classes 中不是 *.class 文件的所有文件。
我正在做什么来实现这一目标,我该如何阻止它?
谢谢
由于您使用 ant 而不是 Eclipse 进行构建,因此您可以尝试关闭该设置以自动构建项目。
选择您的项目,然后在屏幕顶部的菜单栏中,选择Project
并取消选中Build Automatically
选项。
编辑:第二意见
每次进行构建时,我都会添加一个 ant 任务以将 log4j 属性文件复制到您的 WEB-INF/classes
文件夹中。 这样做的一个很好的优点是,您可以为不同的构建类型(调试、发布等)使用不同的属性文件,而不必担心手动对其进行更改。 此外,如果您使用的是版本控制,这应该更容易管理。
将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>
在项目资源管理器中选择后:
> Java 编译器>生成>输出文件夹
的属性取消选中"清理项目时擦洗输出文件夹"
这对我来说是一个解决方案(虽然可能不是每个人),因为我使用时间测试 ANT 构建.xml为我进行编译、构建和清理。 我只是保留 Eclipse 的自动构建,以便在编译之前以 I 类型的形式收到那些漂亮的错误通知。