当我在程序中运行时,我可以将日志写入文件中。但是在制作程序的jar文件并使用ProcessBuilder
运行该jar之后,它确实会生成该文件,但它不会写任何内容。任何帮助表示赞赏。
这是属性文件
log4j.rootLogger=fatal,CONSOLE,R
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=H://decompilerDirectory//logs/testlog.log
log4j.appender.R.MaxFileSize=60000KB
log4j.appender.R.MaxBackupIndex=15
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d - %c - %p - %m%n
这就是我运行程序的方式
ProcessBuilder pb = new ProcessBuilder("C:\\Program Files\\Java\\jdk1.7.0_13\\bin\\javaw.exe", "-jar", "ta.jar", filePath);
Process p = pb.start();
p.waitFor();
答案 0 :(得分:1)
您是否在jar的清单文件中设置了main-class?
这不是关于主要方法,而是关于主要方法。检查我给你的链接。如果你想从命令行运行一个jar文件,你需要在它的清单文件中设置它的主类,否则,指定你想要执行它的主函数的类。
java -jar jar-file-name.jar com.yourcompany.yourclass main-method-arguments-spearated-with-spaces