gpt4 book ai didi

java - Ant 不编译 *.properties 文件

转载 作者:太空宇宙 更新时间:2023-11-04 14:27:44 27 4
gpt4 key购买 nike

我是 Ant 新手,在编译我的项目时遇到一些问题。我的项目 src/ 中有几个 .properties 文件。我正在通过我的 build.xml (发布在下面)将我的项目编译为 .WAR。部署时,我看到几个 FileNotFound 异常,甚至在解压 .WAR 文件后,我发现 *.properties 文件不存在于我的最终发行版。我究竟做错了什么?提前致谢。

build.xml

<?xml version="1.0" ?>
<project name="APP" default="war">

<path id="compile.classpath">
<fileset dir="WebContent/WEB-INF/lib">
<include name="*.jar" />
</fileset>
</path>

<target name="init">
<mkdir dir="build/classes" />
<mkdir dir="dist" />
</target>

<target name="compile" depends="init">
<javac destdir="build/classes" includeantruntime="false" debug="true" srcdir="src">
<classpath refid="compile.classpath" />
</javac>
</target>

<target name="war" depends="compile">
<war destfile="dist/APP.war" webxml="WebContent/WEB-INF/web.xml" duplicate="preserve">
<fileset dir="WebContent" />
<lib dir="WebContent/WEB-INF/lib" />
<classes dir="build/classes" />
</war>
</target>

最佳答案

您在调用 war 任务时根本没有包含这些属性文件。您应该明确包含它们(我使用 zipfileset 添加前缀,以便将它们放置在正确的路径中):

<war destfile="dist/APP.war" webxml="WebContent/WEB-INF/web.xml" duplicate="preserve">
<fileset dir="WebContent" />
<zipfileset dir="src"
prefix="WEB-INF/classes">
<include name="**/*.properties"/>
</zipfileset>
<lib dir="WebContent/WEB-INF/lib" />
<classes dir="build/classes" />
</war>

或者按照 srkavin 在评论中的建议(但进行一些修改以包含子目录中的文件):

<war destfile="dist/APP.war" webxml="WebContent/WEB-INF/web.xml" duplicate="preserve">
<fileset dir="WebContent" />
<lib dir="WebContent/WEB-INF/lib" />
<classes dir="build/classes" />
<classes dir="src" includes="**/*.properties"/>
</war>

关于java - Ant 不编译 *.properties 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26495505/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com