Java 命令propmt上的log4j.properties出现问题

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

我正在尝试为Windows(*.bat)创建一个批处理文件,用于执行Java应用程序。除了记录器,我什么都设置好了。我已经调用了
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){
   ...
}