我正在尝试为Windows(* .bat)创建一个用于执行Java应用程序的批处理文件。我已经设置了除记录器之外的所有东西。我已调用icloudQuery
并将文件BasicConfigurator.configure()
放在项目的根目录中,该文件在IDE(Eclipse)中工作正常但是当我尝试通过批处理文件执行相同操作时,它不会不行。
我已经尝试将文件移动到其他路径,但它不起作用,我不知道还有什么可以尝试。
eInvoice.bat(假设先前已定义CLASSPATH)
log4j.properties
log4j.properties
java -Xmx500m -cp %CLASSPATH% com.mycompany.einvoice.InvoiceSender -Dlog4j.configuration=log4j.properties
答案 0 :(得分:0)
我不确定这对某人是否有用,但我发现问题的根源并且它与参数的顺序有关。除非有参数,否则主类必须是最后一个参数。所以我刚刚交换了最后两个参数,它开始工作
java -Xmx500m -cp %CLASSPATH% -Dlog4j.configuration=log4j.properties com.mycompany.einvoice.InvoiceSender
在我解决问题的那一刻,我意识到了原因。主类可以有参数,因此,我在主类之前使用的每个参数都属于主类而不是Java。
public static void main (String[] args){
...
}