Java 命令propmt上的log4j.properties出现问题
我正在尝试为Windows(*.bat)创建一个批处理文件,用于执行Java应用程序。除了记录器,我什么都设置好了。我已经调用了Java 命令propmt上的log4j.properties出现问题,java,batch-file,logging,parameters,Java,Batch File,Logging,Parameters,我正在尝试为Windows(*.bat)创建一个批处理文件,用于执行Java应用程序。除了记录器,我什么都设置好了。我已经调用了BasicConfigurator.configure(),并将文件log4j.properties放在项目的根目录下,该文件在IDE(Eclipse)中运行良好,但当我尝试通过批处理文件执行相同操作时,它不起作用 我已经尝试将文件移动到其他路径,但无效,我不知道还有什么可以尝试 eInvoice.bat(类路径假定在前面定义) log4j.properties # R
BasicConfigurator.configure()
,并将文件log4j.properties
放在项目的根目录下,该文件在IDE(Eclipse)中运行良好,但当我尝试通过批处理文件执行相同操作时,它不起作用
我已经尝试将文件移动到其他路径,但无效,我不知道还有什么可以尝试
eInvoice.bat(类路径假定在前面定义)
log4j.properties
# Root logger option
log4j.rootLogger=INFO, file
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=AplFacturae.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
我不确定这对某人是否有用,但我找到了问题的根源,它与参数的顺序有关。主类必须是最后一个参数,除非它有参数。所以我只是交换了最后两个参数,它开始工作了
java -Xmx500m -cp %CLASSPATH% -Dlog4j.configuration=log4j.properties com.mycompany.einvoice.InvoiceSender
在我解决问题的那一刻,我意识到了原因。主类可以有参数,因此,我之前使用的主类的每个参数都属于主类,而不是Java
public static void main (String[] args){
...
}
public static void main (String[] args){
...
}