我需要在 Windows 2012 R2 Powershell(或命令行)的特定位置使用 log4j 配置启动 java jar。
我尝试了以下命令:
java -jar C:\myApp\myApp.jar -Duser.dir=C:\myApp -Dlog4j.configuration=file:C:\myApp\resources\log4j.xml
但是应用程序无法以 log4j 错误启动(在 WARN 之后):
log4j:WARN No appenders could be found for logger (cz.mypackage.Myclass).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
具有相同 log4j.xml 的相同 jar 文件,在 Windows 2003(具有相同版本的 Java)上由相同的命令运行正确启动。
我还尝试了 log4j 文件 URI 的一些修改(“file://C:\myApp\resources\log4j.xml”、“file://C:/myApp/resources/log4j.xml”、“file://C :\\myApp\\resources\\log4j.xml" 或 "file:C:\\myApp\\resources\\log4j.xml"),就像我在 Internet 上找到的那样。
有没有人有任何建议,如何启动罐子?
解决方案:神奇之处在于使用引号并从管理员 powershel 运行(我不知道为什么,但它有效):
java -jar "C:\myApp\myApp.jar" -Duser.dir=C:\myApp -Dlog4j.configuration=file:C:\myApp\resources\log4j.xml