public static String configFile = "/SMProxy.xml";
导出可执行jar文件后,每次更改配置文件都要从jar中取出,改完再放进去,操作起来很麻烦.能不能把这个配置文件放在可执行的jar文件外面啊? 如果可以,在eclipse 里面要怎么写?
10 个解决方案
#1
放在外面的话,你要在执行时加上参数,把你的xml文件指定
jar xxx.jar -....
jar xxx.jar -....
#2
public static void main(String[] args){
...
public static String configFile = args[0];
...
}
jar xxx.jar xxx.xml
是这意思吗?
#3
@echo off
rem 1. config文件夹路径
set CONFIG_PATH=%1
rem 3. 构建名称
set BUILD_NAME=%2
rem 4. 构建编号
set BUILD_NUMBER=%3
rem 5. 版本号
set VERSION_NUMBER=%4
set classpath=lib\activation-1.1.jar;lib\dom4j-1.6.1.jar;lib\log4j.jar;lib\mail-1.4.2.jar;lib\sqljdbc.jar;lib\CIEmail.jar;
java www.email.main.Main %CONFIG_PATH% %BUILD_NAME% %BUILD_NUMBER% %VERSION_NUMBER%
根这种方式差不多
rem 1. config文件夹路径
set CONFIG_PATH=%1
rem 3. 构建名称
set BUILD_NAME=%2
rem 4. 构建编号
set BUILD_NUMBER=%3
rem 5. 版本号
set VERSION_NUMBER=%4
set classpath=lib\activation-1.1.jar;lib\dom4j-1.6.1.jar;lib\log4j.jar;lib\mail-1.4.2.jar;lib\sqljdbc.jar;lib\CIEmail.jar;
java www.email.main.Main %CONFIG_PATH% %BUILD_NAME% %BUILD_NUMBER% %VERSION_NUMBER%
根这种方式差不多
#4
嗯,你自己尝试下
#5
可以试试
#6
我想要的是:
配置文件放在jar外面.直接运行jar的时候读配置文件内容,再作处理.
配置文件的名字确定,路径与jar在同一目录,hardcode在jar里面.
#7
要么你就在代码里面把配置文件的路径写死咯,你想在jar里面读取jar外面的配置文件基本上只有靠绝对路径。相对路径是没办法的,即使你外面的与里面的结构一样。
#8
有没有什么办法获得jar的当前路径.
#9
直接从jar里面考出来就可以了
#10
代码不用做任何改动,拷出配置文件,删掉jar里面的配置文件.已经试过log4j.properties,没问题.
#1
放在外面的话,你要在执行时加上参数,把你的xml文件指定
jar xxx.jar -....
jar xxx.jar -....
#2
public static void main(String[] args){
...
public static String configFile = args[0];
...
}
jar xxx.jar xxx.xml
是这意思吗?
#3
@echo off
rem 1. config文件夹路径
set CONFIG_PATH=%1
rem 3. 构建名称
set BUILD_NAME=%2
rem 4. 构建编号
set BUILD_NUMBER=%3
rem 5. 版本号
set VERSION_NUMBER=%4
set classpath=lib\activation-1.1.jar;lib\dom4j-1.6.1.jar;lib\log4j.jar;lib\mail-1.4.2.jar;lib\sqljdbc.jar;lib\CIEmail.jar;
java www.email.main.Main %CONFIG_PATH% %BUILD_NAME% %BUILD_NUMBER% %VERSION_NUMBER%
根这种方式差不多
rem 1. config文件夹路径
set CONFIG_PATH=%1
rem 3. 构建名称
set BUILD_NAME=%2
rem 4. 构建编号
set BUILD_NUMBER=%3
rem 5. 版本号
set VERSION_NUMBER=%4
set classpath=lib\activation-1.1.jar;lib\dom4j-1.6.1.jar;lib\log4j.jar;lib\mail-1.4.2.jar;lib\sqljdbc.jar;lib\CIEmail.jar;
java www.email.main.Main %CONFIG_PATH% %BUILD_NAME% %BUILD_NUMBER% %VERSION_NUMBER%
根这种方式差不多
#4
嗯,你自己尝试下
#5
可以试试
#6
我想要的是:
配置文件放在jar外面.直接运行jar的时候读配置文件内容,再作处理.
配置文件的名字确定,路径与jar在同一目录,hardcode在jar里面.
#7
要么你就在代码里面把配置文件的路径写死咯,你想在jar里面读取jar外面的配置文件基本上只有靠绝对路径。相对路径是没办法的,即使你外面的与里面的结构一样。
#8
有没有什么办法获得jar的当前路径.
#9
直接从jar里面考出来就可以了
#10
代码不用做任何改动,拷出配置文件,删掉jar里面的配置文件.已经试过log4j.properties,没问题.