[b]一, Java应用调用[/b]
1,放在应用下面
properties文件不在jar中
2,放在source folder下
properties文件包含在jar中,但是交给客户后,客户需要从jar包修改properties文件,不可行。
3, 用ant来打包
这样在外面就能修改了
[b]二, web应用[/b]
1,放在应用下面
p.load(new FileInputStream("task.properties"));
properties文件不在jar中
2,放在source folder下
InputStream inputStream = RunUCMDBTask.class.getClassLoader().getResourceAsStream("task.properties");
p.load(inputStream);
properties文件包含在jar中,但是交给客户后,客户需要从jar包修改properties文件,不可行。
3, 用ant来打包
这样在外面就能修改了
<?xml version="1.0" encoding="UTF-8"?>
<project name="uCMDB Schedule Task" default="deploy" basedir=".">
<property name="Main_Class" value="com.hp.schedule.task.RunUCMDBTask"/>
<property name="deploy.dir" value="deploy"/>
<path id="schedule.classpath">
<fileset dir="lib" includes="*.jar"/>
</path>
<pathconvert property="manifest.classpath" pathsep=" ">
<path refid="schedule.classpath"/>
<mapper>
<chainedmapper>
<flattenmapper/>
<globmapper from="*.jar" to="lib/*.jar"/>
</chainedmapper>
</mapper>
</pathconvert>
<target name="clean" >
<delete dir="${deploy.dir}"/>
</target>
<target name="init" depends="clean">
<tstamp/>
<mkdir dir="${deploy.dir}"/>
<mkdir dir="${deploy.dir}/conf"/>
<mkdir dir="${deploy.dir}/log"/>
<mkdir dir="${deploy.dir}/lib"/>
</target>
<target name="compile">
<jar destfile="${deploy.dir}/uCMDB Schedule Task.jar" >
<fileset dir="bin"/>
<manifest>
<attribute name="Main-Class" value="${Main_Class}"/>
<attribute name="Class-Path" value=". ${manifest.classpath}" />
</manifest>
</jar>
</target>
<target name="deploy" depends="init,compile">
<copy todir="${deploy.dir}/lib">
<fileset dir="./lib/">
<include name="api-internal.jar"/>
<include name="commons-lang-2.4.jar"/>
<include name="log4j-1.2.14.jar"/>
<include name="ucmdb-api.jar"/>
</fileset>
</copy>
<copy file="conf/task.properties" tofile="${deploy.dir}/conf/task.properties" />
</target>
</project>
[b]二, web应用[/b]
public static String getAdapterConfigFile() {
return AppContext.GetInstance().getContext().getRealPath("/")
+ File.separator + WEB_INF + File.separator + "classes"
+ File.separator + CONF + File.separator + "adapter.properties";
}