gpt4 book ai didi

java - 使用标志批处理运行 java 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 13:57:43 25 4
gpt4 key购买 nike

我有一个jar,里面有类my.package.Foo,包含main方法。

更重要的是,我将 Log4j 配置为日志系统。

我想在捕获异常时打印完整的堆栈跟踪,但是我读了这个主题:log4j not printing the stacktrace for exceptions我认为我需要使用 -XX:-OmitStackTraceInFastThrow 标志。

所以我尝试使用这样的命令行调用我的应用程序:

java -XX:-OmitStackTraceInFastThrow -cp %JAR_LOCATION:% my.package.Foo

但是我仍然缺少堆栈跟踪,我只收到简短的异常消息。

这是我的 log4j 配置:

log4j.rootLogger=INFO, CONSOLE, FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=log.txt
log4j.appender.FILE.ImmediateFlush=true
log4j.appender.FILE.Threshold=debug
log4j.appender.FILE.Append=false
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{HH:mm:ss.SSS} %-4p %c{2}.%m%n
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss.SSS} %-4p %c{2}.%m%n

我缺少什么?

最佳答案

尝试这样:

set JAR_LOCATION=c:\any folder with spaces\jar
java -XX:-OmitStackTraceInFastThrow -cp "%JAR_LOCATION:~%" my.package.Foo

您必须从 %JAR_LOCATION:% 中删除“:”字符,或者使用 %JAR_LOCATION:~% 对其进行反引号,并直接在 JAVA 命令中引用它,因为该路径可能包含空格。

关于java - 使用标志批处理运行 java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29644715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com