`

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中运行时显示是没问题的。 

 

实验代码见附件。 

 

0
2
分享到:
评论
1 楼 rmn190 2011-08-01  
解决了,

把run.classpath的定义改成如下


	<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中的回答。

相关推荐

    Android插件框架Android-Plugin-Framework.zip

    12、需要关注PluginTest工程的ant.properties文件和project.properties文件以及custom_rules.xml文件,插件使用宿主程序共享库,以及共享库R引用,和编译时排除的功能,都在这3个配置文件中体现 暂不支持的...

    jTester使用指南(带书签).pdf

    配置jtester.properties文件 DataMap语法详解 对指定表进行数据插入操作 用DataMap插入多条数据 DataMap的数据提供器功能 准备数据的一些补充 对指定表进行数据验证操作 其他数据库操作 多数据库测试 使用eclipse...

    好用的代码生成源码

    在temppate目录创建一个文件,如${className}SpringControler.java 则代码生成器会自动将该模板文件加载并生成该文件 充分利用各种文件的注释 如在.xml中我们可以使用 在.properties文件中我们可以使用 #generator-...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    [开源]用SWT/JFace实现的放大镜软件jZoomer v1.2.0(附源码)

    添加ant编译文件,使用“ant package”即可轻松打包发布文件 ·调整system.properties的排版,方便阅读 3. 核心调整: ·加入fatjar.jar架包,用于打包编译 4. 版本变更: 版本升级为1.1.1 &lt;br...

    springboot参考指南

    改变应用程序外部配置文件的位置 iii. 63.3. 使用'short'命令行参数 iv. 63.4. 使用YAML配置外部属性 v. 63.5. 设置生效的Spring profiles vi. 63.6. 根据环境改变配置 vii. 63.7. 发现外部属性的内置选项 iii. 64....

    Eclipse权威开发指南2.pdf

    第4章 Java程序的运行与调试 107 4.1 运行Java代码...... 108 4.1.1 使用运行和调试命令..... 108 4.1.2 管理启动配置..... 109 4.1.3 对代码片断编辑测试窗页面中的表达式进行求值..... 111 4.2 调试...... 112 ...

    hibernate3.04中文文档.chm

    符合Java习惯的关系数据库持久化 目录 前言 1. 翻译说明 2. 版权声明 1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 ...

    Eclipse权威开发指南3.pdf

    第4章 Java程序的运行与调试 107 4.1 运行Java代码...... 108 4.1.1 使用运行和调试命令..... 108 4.1.2 管理启动配置..... 109 4.1.3 对代码片断编辑测试窗页面中的表达式进行求值..... 111 4.2 调试.....

    Eclipse权威开发指南1.pdf

    第4章 Java程序的运行与调试 107 4.1 运行Java代码...... 108 4.1.1 使用运行和调试命令..... 108 4.1.2 管理启动配置..... 109 4.1.3 对代码片断编辑测试窗页面中的表达式进行求值..... 111 4.2 调试.....

    Hibernate中文详细学习文档

    符合Java习惯的关系数据库持久化 前言 1. 翻译说明 2. 版权声明 1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. ...

    Hibernate教程

    21.1.2. 运行该工具 21.1.3. 属性(Properties) 21.1.4. 使用Ant(Using Ant) 21.1.5. 对schema的增量更新(Incremental schema updates) 21.1.6. 用Ant来增量更新schema(Using Ant for incremental schema updates...

    HibernateAPI中文版.chm

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    hibernate3.2中文文档(chm格式)

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    Java学习笔记-个人整理的

    {7.1}Java的文件系统管理}{103}{section.7.1} {7.2}回调模式与FileFilter}{104}{section.7.2} {7.3}\ttfamily RandomAccessFile}{106}{section.7.3} {7.4}基本类型数据序列化}{108}{section.7.4} {7.5}String的...

Global site tag (gtag.js) - Google Analytics