我有一个运行RMI服务器的ant构建脚本(在开发测试期间),我最近切换到Log4J2,并且遇到Log4J2找不到ant配置文件的问题。在谷歌上搜索一下,发现其他人试图在ant中指定JVM arg——我试过这样做:
<target name="win-server-run" depends="compile" description="Copies JAR file to server folder">
<java classname="com.mycompany.server.Main" fork="yes" dir=".">
<classpath refid="classpath-server-run"/>
<jvmarg value="-Dlog4j.configurationFile=${project.dir}/resources/rmiServer/properties/classpath/log4j.properties"/>
</java>
</target>
${project.dir}等于C: \用户\周\桌面\我的测试\工作区MyTesting\MyApp\
但在运行ant任务时,我遇到了以下错误:[java]ERROR StatusLogger无效URL C:\Users/Jay/Desktop/MyTesting/workspace MyTesting/MyApp//resources/rmiServer/properties/classpath/log4j.properties[java]java.net.MorformedURLException:未知协议:c
看来蚂蚁可能和C:驱动器混淆了?
在发现有人遇到类似问题后,我设法让它正常工作。只是想在需要的时候帮助别人!
<jvmarg value="-Dlog4j.configurationFile=file://${project.dir}/resources/rmiServer/properties/classpath/log4j.properties"/>
例如,注意文件://