当我直接在eclipse中调试运行时,发现这个log4j.properties文件的配置有效。
但是如果把我的文件打成jar包,用hadoop jar my.jar 运行时,发现这个log4j.properties的配置都没效了。
我打jar包时,用eclipse的 runnable jar file->extract required libraires into generate JAR
请问为什么?
我解压打好的jar包检查,看到log4j.properties在jar包的根目录下。
另外,有没有详细讲解eclipse export的文章?
5 个解决方案
#1
又没人会。。。
#2
不知道你是如何读取log4j.properties文件的,在程序里测试,路径是你项目下的,打成jar包后,就是jar运行环境的路径了。
#3
会不会是跟路径神马的有关
#4
我没写代码读取log4j.properties
我引用的jar包中有代码读取它自己的log4j.properties文件,(这个jar包把log4j.properties达到它的jar包中了)
我只是把我引用的jar包的log4j.properties文件改了一下。
然后调试时有效,我再打自己的整个工程的jar包运行,就不行了。
#5
貌似log4j.properties文件打在jar文件里,修改不好实现,你可以打在jar外面,路径前加System.getProperty("user.dir"),就是你运行时路径,要是放在eclipse下,就在eclipse下建个log4j.properties文件,就能读写了。
#1
又没人会。。。
#2
不知道你是如何读取log4j.properties文件的,在程序里测试,路径是你项目下的,打成jar包后,就是jar运行环境的路径了。
#3
会不会是跟路径神马的有关
#4
我没写代码读取log4j.properties
我引用的jar包中有代码读取它自己的log4j.properties文件,(这个jar包把log4j.properties达到它的jar包中了)
我只是把我引用的jar包的log4j.properties文件改了一下。
然后调试时有效,我再打自己的整个工程的jar包运行,就不行了。
#5
貌似log4j.properties文件打在jar文件里,修改不好实现,你可以打在jar外面,路径前加System.getProperty("user.dir"),就是你运行时路径,要是放在eclipse下,就在eclipse下建个log4j.properties文件,就能读写了。