我有 application-dev.yml 和 application-prod.yml。我有資料庫道具。當我將 spring.active.profile 設定為 dev 并且當我進行 Maven 全新安裝時,它向我拋出 datasource.url not found 錯誤。(它只是不讀取 yml 檔案。)但是當我創建另一個 application.yml 檔案并放置相同的道具時,它正在讀取它并且 maven 全新安裝是成功的。
我應該如何讓我的應用程式從各自的 env 檔案中讀取道具?(我知道如何在 IntelliJ 中設定組態檔)下面是我的 POM。
我無法在 POM 中添加包含標簽,因為我想根據組態檔讀取 yml 檔案。
查看圖片以了解我想要做什么。您也可以看到我正在使用的 maven 工具。
在此處輸入影像描述
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.askvedicastrologers</groupId>
<artifactId>ask-vedic-astrologers</artifactId>
<version>1.0</version>
<name>AskVedicAstrologers</name>
<description>AskVedicAstrologers project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR2</spring-cloud.version>
</properties>
<!-- <packaging>jar</packaging>-->
<!-- <modules>-->
<!-- <module>../search-engine</module>-->
<!-- <module>../post-engine</module>-->
<!-- </modules>-->
<dependencies>
<!-- <!– Search-Engine module dependency –>-->
<!-- <dependency>-->
<!-- <groupId>com.askvedicastrologers</groupId>-->
<!-- <artifactId>search-engine</artifactId>-->
<!-- <version>0.0.1-SNAPSHOT</version>-->
<!-- </dependency>-->
<!-- <!– Post-Engine module dependency –>-->
<!-- <dependency>-->
<!-- <groupId>com.askvedicastrologers</groupId>-->
<!-- <artifactId>post-engine</artifactId>-->
<!-- <version>0.0.1-SNAPSHOT</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-gateway -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>3.1.3</version>
</dependency>
<!-- Spring Security -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>com.google.firebase</groupId>
<artifactId>firebase-admin</artifactId>
<version>8.1.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.3</version>
</dependency>
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.9</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
uj5u.com熱心網友回復:
改為使用spring.profiles.active=dev。
uj5u.com熱心網友回復:
如果你有 application-dev.yml 和 application-prod.yml,那么你需要多一個 application.yml。在這個 application.yml 檔案上,您需要添加
spring:
active:
profile: dev
對于 prod,config 添加 prod。
參考
我認為這應該可以解決您的問題!
uj5u.com熱心網友回復:
創建一個名為 applivation.yml 的基本檔案并將基本配置放在那里。還可以根據需要創建開發、測驗和生產等檔案,然后嘗試構建。它可能以這種方式作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/497604.html
下一篇:使用自定義注釋在方法級別為控制器中的GET、PUT、POST、DELETE映射添加前綴或后綴-SpringREST控制器
