我知道这有很多线索,但还没有解决我的问题。我有一个在Eclipse中运行的Spring Boot应用程序,我将这些参数外部化,以便部署到外部Tomcat并使属性远离战争。我将我的application.properties从src / main / resources移到了APP_ROOT / config。在catalina.sh中,我添加了这个:
JAVA_OPTS="-Dspring.profiles.active=local -Dspring.config.location=$CATALINA_BASE/conf/"
外部构建工作正常;但是,现在它不再是在Eclipse中启动了。我通过将spring.config.location和spring.profiles.active添加到启动配置中的VM参数来复制我在Tomcat中所做的操作。
在引导期间,它会注册一个Oracle驱动程序(与我在属性文件中指定的版本不同),然后停止。如果我添加:
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
到我的配置类,以便驱动程序不会自动注册,然后我得到:
No qualifying bean of type [org.springframework.jdbc.core.JdbcTemplate]
奇怪的是,我尝试将我的application.properties放回src / main / resources并删除VM参数,我得到了相同的行为。这是我在启动时看到的,不排除DataSourceAutoConfiguration。有什么想法吗?
2016-09-30 11:44:59.661 INFO 5150 --- [ main] org.usp.mct.MctApplication : Starting MctApplication on cici-mac.local with PID 5150 (/Users/cici/Documents/workspace-sts-3.7.3.RELEASE/mct.usp.org/target/classes started by cici in /Users/cici/Documents/workspace-sts-3.7.3.RELEASE/mct.usp.org)
2016-09-30 11:44:59.663 INFO 5150 --- [ main] org.usp.mct.MctApplication : The following profiles are active: local
2016-09-30 11:44:59.713 INFO 5150 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@550ee7e5: startup date [Fri Sep 30 11:44:59 EDT 2016]; root of context hierarchy
2016-09-30 11:45:01.005 INFO 5150 --- [ main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2016-09-30 11:45:01.019 INFO 5150 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default
...]
2016-09-30 11:45:01.088 INFO 5150 --- [ main] org.hibernate.Version : HHH000412: Hibernate Core {5.0.9.Final}
2016-09-30 11:45:01.089 INFO 5150 --- [ main] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2016-09-30 11:45:01.091 INFO 5150 --- [ main] org.hibernate.cfg.Environment : HHH000021: Bytecode provider name : javassist
2016-09-30 11:45:01.127 INFO 5150 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
2016-09-30 11:45:01.598 INFO 5150 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.Oracle12cDialect
2016-09-30 11:45:01.749 INFO 5150 --- [ main] org.hibernate.type.BasicTypeRegistry : HHH000270: Type registration [byte[]] overrides previous : org.hibernate.type.BinaryType@70972170
2016-09-30 11:45:01.749 INFO 5150 --- [ main] org.hibernate.type.BasicTypeRegistry : HHH000270: Type registration [[B] overrides previous : org.hibernate.type.BinaryType@70972170
2016-09-30 11:45:01.750 INFO 5150 --- [ main] org.hibernate.type.BasicTypeRegistry : HHH000270: Type registration [Byte[]] overrides previous : org.hibernate.type.WrapperBinaryType@69fe0ed4
2016-09-30 11:45:01.750 INFO 5150 --- [ main] org.hibernate.type.BasicTypeRegistry : HHH000270: Type registration [[Ljava.lang.Byte;] overrides previous : org.hibernate.type.WrapperBinaryType@69fe0ed4
2016-09-30 11:45:02.181 INFO 5150 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2016-09-30 11:45:02.984 INFO 5150 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2016-09-30 11:45:02.992 INFO 5150 --- [ main] o.s.c.support.DefaultLifecycleProcessor : Starting beans in phase 0
2016-09-30 11:45:03.059 INFO 5150 --- [ main] org.usp.mct.MctApplication : Started MctApplication in 3.796 seconds (JVM running for 4.181)
2016-09-30 11:45:03.060 INFO 5150 --- [ Thread-3] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@550ee7e5: startup date [Fri Sep 30 11:44:59 EDT 2016]; root of context hierarchy
2016-09-30 11:45:03.061 INFO 5150 --- [ Thread-3] o.s.c.support.DefaultLifecycleProcessor : Stopping beans in phase 0
2016-09-30 11:45:03.063 INFO 5150 --- [ Thread-3] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown
答案 0 :(得分:0)
在这种情况下,我吹走了我的回购然后再重新克隆。仍然需要使用外部参数而不是src / main / resources / application.properties,但至少我回到原点。