我有此配置,需要用于Spring Boot应用程序.
@H_404_6@server.port=8085 server.servlet.context-path=/authserver #data source spring.jpa.hibernate.ddl-auto=none spring.datasource.url=<url> spring.datasource.username=<username> spring.datasource.password=<password> spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
默认情况下,spring-boot会拾取src / main / resources /中的application.properties文件.
我想更改此路径并将Spring Boot引导到其他application.properties文件
我可以使用
@H_404_6@java -jar app.jar --spring.config.location=classpath:/another-location.properties
有没有其他可选的解决方案,我可以在不通过命令行传递args的情况下实现这一目标?
我在用这个
@H_404_6@ @PropertySource("file:C:\Users\test\.test\test.properties") @ConfigurationProperties(prefix = "spring") public class Configuration { private String ddlAuto; private String url; private String username; private String password; private String driverClassName; }
在我的主班
@H_404_6@@SpringBootApplication @EnableConfigurationProperties(Configuration.class) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class,args); } }
在我尝试执行该应用程序之后,在src / main / resources /下的application.properties中注释掉了所有数据源属性
但是它不断给我以下错误,并且应用程序无法启动
我指的是本教程:https://www.mkyong.com/spring-boot/spring-boot-configurationproperties-example/
但是正如提到的那样,当我启动Spring Boot应用程序时出现此错误
@H_404_6@*************************** APPLICATION Failed TO START *************************** Description: Binding to target org.springframework.boot.context.properties.bind.BindException:
任何帮助,将不胜感激
最佳答案
推荐的具有外部化属性的方法是使用spring.config.location系统属性,如下所示启动应用程序:
原文链接:https://www.f2er.com/spring/531618.html@H_404_6@java -jar -Dspring.config.location=/path/to/my/file.properties app.jar
这样做的原因是,您没有在代码和文件系统层次结构之间添加耦合.
在Spring Boot 2.0之前,此属性是可加的,这意味着它将补充默认位置.在Spring Boot 2.0之后,spring.config.location将替换默认位置(例如classpath src / main / resources / application.properties).为了在2.0之后保持加性,请改用spring.config.additional-location.
请在此查看official documentation.