首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

ant运行java程序时, 它不能加载指定properties文件, 怎么办

2012-10-24 
ant运行java程序时, 它不能加载指定properties文件, 怎么处理??运行时, 目录结构如下:??? ? .? ? |-- ./bu

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>

用<pathelement path="${dist.dir}" />或<dirset dir="${dist.dir}" />都行的。

见http://stackoverflow.com/questions/6854952/properties-files-not-found-running-java-through-ant/6856038#6856038中的回答。

热点排行