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

3 comments on “Maven – Exclude logback.xml in Jar file

  1. 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

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

    Reply
  3. It is not working after passing logback file from outside.

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *