ant运行java程序时, 它不能加载指定properties文件, 怎么处理?
?
运行时, 目录结构如下:?
?
? ? .
? ? |-- ./build
? ? | ? `-- ./build/TestAntLoadFile.class
? ? |-- ./build.xml
? ? |-- ./dist
? ? | ? |-- ./dist/icpFinder.jar
? ? | ? `-- ./dist/icp-finder.properties
? ? |-- ./icp-finder_bak.properties
? ? `-- ./src
? ? ? ? `-- ./src/TestAntLoadFile.java
?
?可运如何代码时,?
?
?
public class TestAntLoadFile { private static final String CUSTOMER_CONFIG_FILE_NAME = "icp-finder.properties"; public static void main(String[] args) { InputStream custumerConfigIn = TestAntLoadFile.class. getClassLoader().getResourceAsStream(CUSTOMER_CONFIG_FILE_NAME); System.out.println("custumerConfigIn: " + custumerConfigIn); } }
?
build.xml中核心配置如下:?
?
<path id="run.classpath"> <fileset dir = "${dist.dir}" > <include name="**/*.jar"/> <include name="**/*.properties"/> <include name="./icp-finder.properties"/> </fileset></path> <target name="run" depends="jar"> <java fork="true" classname="TestAntLoadFile"> <classpath> <path refid="run.classpath"/> </classpath> </java> </target>?
?
?
?
?
?显示结果:custumerConfigIn: null。?
?
?这是为什么? 我知道是ant脚本里写的可能有问题。 同样的代码在Eclipse中运行时显示是没问题的。?
?
实验代码见附件。?
?
<path id="run.classpath"> <fileset dir = "${dist.dir}" > <include name="**/*.jar"/> </fileset> <pathelement path="${dist.dir}" /> <!-- <dirset dir="${dist.dir}" /> <pathelement path="${dist.dir}" /> --></path>