Maven – Exclude log4j.properties in Jar file Posted on October 19, 2014 By mkyong This example sho

maven 发表评论

 

 Maven – Exclude log4j.properties in Jar file

This example shows you how to use Maven to exclude the log4j.properties file from your Jar file.

Note
Please, DO NOT include the log4j.properties into the final Jar file, it will cause multiple
log4j.properties files in the classpath, if someone is depending on your Jar, you may accidentally override their logging configurations, depends which Jar is loaded first.
pom.xml
<project>
 
  <build>
    <plugins>
 
	<!-- Make this jar executable -->
	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-jar-plugin</artifactId>
		<configuration>
		        <!-- exclude log4j.properties -->
			<excludes>
				<exclude>**/log4j.properties</exclude>
			</excludes>
			<archive>
			    <manifest>
				<addClasspath>true</addClasspath>
				<mainClass>com.mkyong.core.utils.testing</mainClass>
				<classpathPrefix>dependency-jars/</classpathPrefix>
		            </manifest>
			</archive>
		</configuration>
	</plugin>
 
    </plugins>
  </build>
 
</project>

Please pass in your log4j.properties file via log4j.configuration system property like this

$ java -jar -Dlog4j.configuration=file:/full_path/log4j.properties final.jar

This example shows you how to use Maven to exclude the log4j.properties file from your Jar file.

Note
Please, DO NOT include the log4j.properties into the final Jar file, it will cause multiple
log4j.properties files in the classpath, if someone is depending on your Jar, you may accidentally override their logging configurations, depends which Jar is loaded first.
pom.xml
<project>
 
  <build>
    <plugins>
 
	<!-- Make this jar executable -->
	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-jar-plugin</artifactId>
		<configuration>
		        <!-- exclude log4j.properties -->
			<excludes>
				<exclude>**/log4j.properties</exclude>
			</excludes>
			<archive>
			    <manifest>
				<addClasspath>true</addClasspath>
				<mainClass>com.mkyong.core.utils.testing</mainClass>
				<classpathPrefix>dependency-jars/</classpathPrefix>
		            </manifest>
			</archive>
		</configuration>
	</plugin>
 
    </plugins>
  </build>
 
</project>

Please pass in your log4j.properties file via log4j.configuration system property like this

$ java -jar -Dlog4j.configuration=file:/full_path/log4j.properties final.jar

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *