Maven 2 当使用Maven Exec插件时,log4j.properties应该位于哪里?
我试图在一个使用execmaven插件执行的项目中使用log4j。我已尝试将文件放置在以下位置:Maven 2 当使用Maven Exec插件时,log4j.properties应该位于哪里?,maven-2,configuration,log4j,Maven 2,Configuration,Log4j,我试图在一个使用execmaven插件执行的项目中使用log4j。我已尝试将文件放置在以下位置: $PROJECT_HOME $PROJECT_HOME/src/main/resources $PROJECT_HOME/target $PROJECT_HOME/target/classes 对于文件的所有位置,我在执行代码时收到以下消息: log4j:WARN No appenders could be found for logger (mypacakge.MyClass). log4j:W
$PROJECT_HOME
$PROJECT_HOME/src/main/resources
$PROJECT_HOME/target
$PROJECT_HOME/target/classes
对于文件的所有位置,我在执行代码时收到以下消息:
log4j:WARN No appenders could be found for logger (mypacakge.MyClass).
log4j:WARN Please initialize the log4j system properly.
log4j.properties
文件应该位于哪里
exec maven插件配置:
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2</version>
<configuration>
<mainClass>mypackage.Main</mainClass>
</configuration>
</plugin>
...
。。。
org.codehaus.mojo
execmaven插件
1.2
mypackage.Main
...
我不确定这是正确的方法(因为我不知道这个插件),但您可以使用插件的配置为VM的类路径指定文件的正确位置:
<configuration>
<executable>maven</executable>
<!-- optional -->
<workingDirectory>/tmp</workingDirectory>
<arguments>
<argument>-classpath</argument>
<argument>/path/to/dirthatcontainslog4J</argument>
...
</arguments>
</configuration>
专家
/tmp
您可以在此处找到更多信息:
关于您有两个选择:
将属性文件置于
./src/main/resources/log4j.xml
可以从命令行中指定它:
$mvn compile exec:java-Dexec.classpathScope=compile-Dexec.mainClass=com.lei.java.sample.Test-Dlog4j.configuration=file:./log4j.xml实际上,log4j提供了用于手动定位配置文件的命令行选项支持。但是,它用于java
命令本身,您可以在Maven building中通过-Dexec.args
选项直接传递java选项:
$ mvn -Dexec.args="-Dlog4j.configurationFile='./log4j2.xml' -classpath /previously/configured/path" org.codehaus.mojo:exec-maven-plugin:1.2.1:exec
此外,exec.args
中的参数也可以持久写入Mojo的:
org.codehaus.mojo
execmaven插件
1.6.0
...
专家
-Dlog4j.configurationFile=“./log4j2.xml”
...
能否附加您的exec-maven插件
配置。exec插件绑定到哪个执行阶段?
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
...
</executions>
<configuration>
<executable>maven</executable>
<arguments>
<argument>-Dlog4j.configurationFile="./log4j2.xml"</argument>
...
</arguments>
</configuration>
</plugin>