当前位置: 首页 > 知识库问答 >
问题:

Spring Boot的外部化属性

万铭
2023-03-14

我知道有很多关于这个的线程,但还没有一个解决我的问题。我有一个在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/"

外部构建工作正常;然而,现在它不再从日食开始。我通过在启动配置中的 VM 参数中添加Spring.config.位置和Spring.配置文件.active来复制我在 Tomcat 中执行的操作。

在引导过程中,它注册Oracle驱动程序(与我在属性文件中指定的版本不同),然后停止。如果我加上:

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

到我的配置类,以便驱动程序不会自动注册,然后我得到:

No qualifying bean of type [org.springframework.jdbc.core.JdbcTemplate] 

奇怪的是,我试着把我的申请。属性返回到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

共有1个答案

谷梁裕
2023-03-14

在这种情况下,我吹走了我的仓库,然后重新克隆。仍然需要使用外部参数,而不是src/main/resources/application。属性,但至少我回到了原点。

 类似资料:
  • 在springboot应用程序中,我有一个jar,然后是一个子目录config with application。属性,applicationContext。xml和log4j。。。属性文件。 我正在尝试外部化log4j配置。application.properties是这样外部化的。 但是,当springboot运行时,它使用jar文件中的log4j配置文件。通过使用-Dlog4j.debug选

  • 问题内容: 我想将一些hibernate配置放在属性文件中,以使其无需构建和部署就可编辑。 我尝试按照不带persistence.xml配置文件的Create JPAEntityManager中的说明解决问题 app.properties: persistence.xml 在初始化代码中,应用程序执行以下序列(查找属性), 但失败并显示错误消息: 有人知道我的配置可能出什么问题吗? 版本:JBos

  • 我已经查看了下面的线程,并遵循了其中给出的内容。仍然没有发生我的属性重写 Spring Boot-外部化属性 配置文件特定属性启用 Spring Boot外部配置 我在Tomcat 8.0.33和Spring boot starter web上,并在我的setenv中得到了这个。上海 在overrides文件夹中我得到了2个文件 1) <代码>应用程序。属性2)

  • 问题内容: 我在Tomcat 8.0.33和Spring Boot Starter Web上,并将其保存在我的setenv.sh中 在覆盖文件夹中,我有2个文件 1) 2) application.properties中有一个条目 我看到正确的log.level被输入到我的代码中,这意味着该命令正在运行。只是我不知道为什么我的超控未按预期发生 我的工作区中没有任何`PropertyPlacehol

  • 我有一个带有spring boot的java项目,我需要加载应用程序。外部文件夹中的属性和依赖项jar。 我使用该应用程序进行了测试。类路径和加载程序中的属性。路径属性工作正常。 当我使用外部属性文件(我确信它们已被使用)时,加载程序。路径工作不正常,结果为ClassNotFound,因为JAR未加载。 此外,当我启动应用程序与**-Dloader.path=**xxx它的工作正常。 如何使用外部

  • 我有这样的配置,需要用于Spring Boot应用程序。 默认情况下,spring-boot会拾取位于src/main/resources/中的application.properties文件 我想改变这个路径并将Spring Boot到不同的application.properties文件 我可以使用 有没有任何替代的解决方案,我可以做到这一点,而不通过命令行传递参数? 在我的主要班级 在我尝试