This example shows how to exclude a specific configuration class by using exclude element of @EnableAutoConfiguration.
package com.logicbig.example;
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration;
@EnableAutoConfiguration(exclude = {JmxAutoConfiguration.class})
public class ExcludeConfigExample {
public static void main (String[] args) {
String[] appArgs = {"--debug"};
//String[] appArgs = {"--debug", "--spring.jmx.enabled=false"};
/* String[] appArgs = {"--debug", "--spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration"};*/
SpringApplication app = new SpringApplication(ExcludeConfigExample.class);
app.setBannerMode(Banner.Mode.OFF);
app.setLogStartupInfo(false);
app.run(appArgs);
}
}
Output
2017-05-01 16:10:08.337 DEBUG 14756 --- [gExample.main()] .b.l.ClasspathLoggingApplicationListener : Application started with classpath: [file:/D:/LogicBig/example-projects/spring-boot/boot-customizing-autoconfig/target/classes/, file:/C:/Users/Joe/.m2/repository/org/springframework/boot/spring-boot-starter/1.4.2.RELEASE/spring-boot-starter-1.4.2.RELEASE.jar, file:/C:/Users/Joe/.m2/repository/org/springframework/boot/spring-boot/1.4.2.RELEASE/spring-boot-1.4.2.RELEASE.jar, file:/C:/Users/Joe/.m2/repository/org/springframework/spring-context/4.3.4.RELEASE/spring-context-4.3.4.RELEASE.jar, file:/C:/Users/Joe/.m2/repository/org/springframework/spring-aop/4.3.4.RELEASE/spring-aop-4.3.4.RELEASE.jar, file:/C:/Users/Joe/.m2/repository/org/springframework/spring-beans/4.3.4.RELEASE/spring-beans-4.3.4.RELEASE.jar, file:/C:/Users/Joe/.m2/repository/org/springframework/spring-expression/4.3.4.RELEASE/spring-expression-4.3.4.RELEASE.jar, file:/C:/Users/Joe/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.4.2.RELEASE/spring-boot-autoconfigure-1.4.2.RELEASE.jar, file:/C:/Users/Joe/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.4.2.RELEASE/spring-boot-starter-logging-1.4.2.RELEASE.jar, file:/C:/Users/Joe/.m2/repository/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar, file:/C:/Users/Joe/.m2/repository/ch/qos/logback/logback-core/1.1.7/logback-core-1.1.7.jar, file:/C:/Users/Joe/.m2/repository/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar, file:/C:/Users/Joe/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.21/jcl-over-slf4j-1.7.21.jar, file:/C:/Users/Joe/.m2/repository/org/slf4j/jul-to-slf4j/1.7.21/jul-to-slf4j-1.7.21.jar, file:/C:/Users/Joe/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.21/log4j-over-slf4j-1.7.21.jar, file:/C:/Users/Joe/.m2/repository/org/springframework/spring-core/4.3.4.RELEASE/spring-core-4.3.4.RELEASE.jar, file:/C:/Users/Joe/.m2/repository/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar]
2017-05-01 16:10:08.490 DEBUG 14756 --- [gExample.main()] o.s.boot.SpringApplication : Loading source class com.logicbig.example.ExcludeConfigExample
2017-05-01 16:10:08.519 DEBUG 14756 --- [gExample.main()] o.s.b.c.c.ConfigFileApplicationListener : Skipped (empty) config file 'file:/D:/LogicBig/example-projects/spring-boot/boot-customizing-autoconfig/target/classes/application.properties' (classpath:/application.properties)
2017-05-01 16:10:08.519 DEBUG 14756 --- [gExample.main()] o.s.b.c.c.ConfigFileApplicationListener : Skipped (empty) config file 'file:/D:/LogicBig/example-projects/spring-boot/boot-customizing-autoconfig/target/classes/application.properties' (classpath:/application.properties) for profile default
2017-05-01 16:10:08.972 DEBUG 14756 --- [gExample.main()] utoConfigurationReportLoggingInitializer :
=========================
AUTO-CONFIGURATION REPORT
=========================
Positive matches:
-----------------
GenericCacheConfiguration matched:
NoOpCacheConfiguration matched:
PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer matched:
RedisCacheConfiguration matched:
SimpleCacheConfiguration matched:
Negative matches:
-----------------
ActiveMQAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'javax.jms.ConnectionFactory', 'org.apache.activemq.ActiveMQConnectionFactory' (OnClassCondition)
AopAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'org.aspectj.lang.annotation.Aspect', 'org.aspectj.lang.reflect.Advice' (OnClassCondition)
ArtemisAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'javax.jms.ConnectionFactory', 'org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory' (OnClassCondition)
BatchAutoConfiguration:
Did not match:
CacheAutoConfiguration:
Did not match:
Matched:
CacheAutoConfiguration.CacheManagerJpaDependencyConfiguration:
Did not match:
CaffeineCacheConfiguration:
Did not match:
CassandraAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'com.datastax.driver.core.Cluster' (OnClassCondition)
CassandraDataAutoConfiguration:
Did not match:
CassandraRepositoriesAutoConfiguration:
Did not match:
CloudAutoConfiguration:
Did not match:
CouchbaseAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'com.couchbase.client.java.CouchbaseBucket', 'com.couchbase.client.java.Cluster' (OnClassCondition)
CouchbaseCacheConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'com.couchbase.client.java.Bucket', 'com.couchbase.client.spring.cache.CouchbaseCacheManager' (OnClassCondition)
CouchbaseDataAutoConfiguration:
Did not match:
CouchbaseRepositoriesAutoConfiguration:
Did not match:
DataSourceAutoConfiguration:
Did not match:
DataSourceTransactionManagerAutoConfiguration:
Did not match:
DeviceDelegatingViewResolverAutoConfiguration:
Did not match:
DeviceResolverAutoConfiguration:
Did not match:
DispatcherServletAutoConfiguration:
Did not match:
EhCacheCacheConfiguration:
Did not match:
ElasticsearchAutoConfiguration:
Did not match:
ElasticsearchDataAutoConfiguration:
Did not match:
ElasticsearchRepositoriesAutoConfiguration:
Did not match:
EmbeddedMongoAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'com.mongodb.Mongo', 'de.flapdoodle.embed.mongo.MongodStarter' (OnClassCondition)
EmbeddedServletContainerAutoConfiguration:
Did not match:
- @ConditionalOnWebApplication (required) did not find web application classes (OnWebApplicationCondition)
ErrorMvcAutoConfiguration:
Did not match:
FacebookAutoConfiguration:
Did not match:
FallbackWebSecurityAutoConfiguration:
Did not match:
FlywayAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'org.flywaydb.core.Flyway' (OnClassCondition)
FreeMarkerAutoConfiguration:
Did not match:
GroovyTemplateAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'groovy.text.markup.MarkupTemplateEngine' (OnClassCondition)
GsonAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'com.google.gson.Gson' (OnClassCondition)
GuavaCacheConfiguration:
Did not match:
H2ConsoleAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'org.h2.server.web.WebServlet' (OnClassCondition)
HazelcastAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition)
HazelcastCacheConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'com.hazelcast.core.HazelcastInstance', 'com.hazelcast.spring.cache.HazelcastCacheManager' (OnClassCondition)
HazelcastJpaDependencyAutoConfiguration:
Did not match:
HibernateJpaAutoConfiguration:
Did not match:
HornetQAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'javax.jms.ConnectionFactory', 'org.hornetq.api.jms.HornetQJMSClient' (OnClassCondition)
HttpEncodingAutoConfiguration:
Did not match:
HttpMessageConvertersAutoConfiguration:
Did not match:
HypermediaAutoConfiguration:
Did not match:
InfinispanCacheConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'org.infinispan.spring.provider.SpringEmbeddedCacheManager' (OnClassCondition)
IntegrationAutoConfiguration:
Did not match:
JCacheCacheConfiguration:
Did not match:
JacksonAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'com.fasterxml.jackson.databind.ObjectMapper' (OnClassCondition)
JdbcTemplateAutoConfiguration:
Did not match:
JerseyAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'org.glassfish.jersey.server.spring.SpringComponentProvider', 'javax.servlet.ServletRegistration' (OnClassCondition)
JestAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'io.searchbox.client.JestClient' (OnClassCondition)
JmsAutoConfiguration:
Did not match:
JndiConnectionFactoryAutoConfiguration:
Did not match:
JndiDataSourceAutoConfiguration:
Did not match:
JooqAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'org.jooq.DSLContext' (OnClassCondition)
JpaRepositoriesAutoConfiguration:
Did not match:
JtaAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'javax.transaction.Transaction' (OnClassCondition)
LinkedInAutoConfiguration:
Did not match:
LiquibaseAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'liquibase.integration.spring.SpringLiquibase' (OnClassCondition)
MailSenderAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'javax.mail.internet.MimeMessage' (OnClassCondition)
MailSenderValidatorAutoConfiguration:
Did not match:
- @ConditionalOnProperty (spring.mail.test-connection) did not find property 'test-connection' (OnPropertyCondition)
MessageSourceAutoConfiguration:
Did not match:
- ResourceBundle did not find bundle with basename messages (MessageSourceAutoConfiguration.ResourceBundleCondition)
MongoAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'com.mongodb.MongoClient' (OnClassCondition)
MongoDataAutoConfiguration:
Did not match:
MongoRepositoriesAutoConfiguration:
Did not match:
MultipartAutoConfiguration:
Did not match:
MustacheAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'com.samskivert.mustache.Mustache' (OnClassCondition)
Neo4jDataAutoConfiguration:
Did not match:
Neo4jRepositoriesAutoConfiguration:
Did not match:
OAuth2AutoConfiguration:
Did not match:
PersistenceExceptionTranslationAutoConfiguration:
Did not match:
ProjectInfoAutoConfiguration#buildProperties:
Did not match:
- @ConditionalOnResource did not find resource '${spring.info.build.location:classpath:META-INF/build-info.properties}' (OnResourceCondition)
ProjectInfoAutoConfiguration#gitProperties:
Did not match:
- GitResource did not find git info at classpath:git.properties (ProjectInfoAutoConfiguration.GitResourceAvailableCondition)
RabbitAutoConfiguration:
Did not match:
ReactorAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'reactor.spring.context.config.EnableReactor', 'reactor.Environment' (OnClassCondition)
RedisAutoConfiguration:
Did not match:
RedisRepositoriesAutoConfiguration:
Did not match:
RepositoryRestMvcAutoConfiguration:
Did not match:
SecurityAutoConfiguration:
Did not match:
SecurityFilterAutoConfiguration:
Did not match:
SendGridAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'com.sendgrid.SendGrid' (OnClassCondition)
ServerPropertiesAutoConfiguration:
Did not match:
- @ConditionalOnWebApplication (required) did not find web application classes (OnWebApplicationCondition)
SessionAutoConfiguration:
Did not match:
SitePreferenceAutoConfiguration:
Did not match:
SocialWebAutoConfiguration:
Did not match:
SolrAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'org.apache.solr.client.solrj.impl.HttpSolrClient', 'org.apache.solr.client.solrj.impl.CloudSolrClient' (OnClassCondition)
SolrRepositoriesAutoConfiguration:
Did not match:
SpringApplicationAdminJmxAutoConfiguration:
Did not match:
- @ConditionalOnProperty (spring.application.admin.enabled=true) did not find property 'enabled' (OnPropertyCondition)
SpringDataWebAutoConfiguration:
Did not match:
ThymeleafAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required class 'org.thymeleaf.spring4.SpringTemplateEngine' (OnClassCondition)
TransactionAutoConfiguration:
Did not match:
TwitterAutoConfiguration:
Did not match:
VelocityAutoConfiguration:
Did not match:
WebClientAutoConfiguration.RestTemplateConfiguration:
Did not match:
WebMvcAutoConfiguration:
Did not match:
WebServicesAutoConfiguration:
Did not match:
WebSocketAutoConfiguration:
Did not match:
- @ConditionalOnClass did not find required classes 'javax.servlet.Servlet', 'javax.websocket.server.ServerContainer' (OnClassCondition)
WebSocketMessagingAutoConfiguration:
Did not match:
XADataSourceAutoConfiguration:
Did not match:
Exclusions:
-----------
Unconditional classes:
----------------------
Original Post