Maven – Exclude logback.xml in Jar file

This example shows you how to use Maven to exclude the logback.xml file from the final Jar file.

Note
Please, DO NOT include the logback.xml into the final Jar file, it will cause multiple logback.xml files in the classpath, if someone is using your Jar, you may override other’s logging configurations accidentally.
pom.xml

<project>

  <build>
    <plugins>

	<!-- Make this jar executable -->
	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-jar-plugin</artifactId>
		<configuration>
		        <!-- exclude logback.xml -->
			<excludes>
				<exclude>**/logback.xml</exclude>
			</excludes>
			<archive>
			   <manifest>
			     <mainClass>com.mkyong.core.crawler.App</mainClass>
		           </manifest>
			</archive>
		</configuration>
	</plugin>

    </plugins>
  </build>

</project>

You can still pass in your custom logback.xml file via logback.configurationFile system property like this


$ java -jar -Dlogback.configurationFile=/full_path/logback.xml final.jar

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities.

Comments

avatar
3 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
Paolo BiavatiIshwar AggarwalMohammad Salman Recent comment authors
newest oldest most voted
Ishwar Aggarwal
Guest
Ishwar Aggarwal

How to read logabck.xml file outside jar file. I want to keep it outside jar file.

Mohammad Salman
Guest
Mohammad Salman

It is not working after passing logback file from outside.

Paolo Biavati
Guest
Paolo Biavati

If you are playing with Spring-boot the right attribute name is “logging.config” so you can start your application with :

java -jar your-app.jar –logging.config=file:/path-to-file/logback-spring.xml