.env 在mac中一种影藏文件,而在java 项目中,经常用来配置不同的变量,用来**.yml 中读取。
如以下示例:

.env 配置了,项目中需要的关健Key ,
内容如:
bash
OPENAI_API_KEY=sk-be2f5f69f50c4528b90825658d7XXXX0
OPENAI_BASE_URL=https://api.deepseek.com
OPENAI_MODEL=deepseek-chat
在application.yml 文件中就可以读取到这个配置
bash
spring:
application:
name: spring-ai-mcp-client
profiles:
active: dev
ai:
mcp:
client:
enabled: true
name: spring-ai-mcp-client
type: ASYNC
request-timeout: 120s # 读取超时时间为120秒
sse:
connections:
server1:
url: https://mcp.amap.com
sse-endpoint: /sse?key=80889a70a83c01ee56ec25425aeXXXXc
server2:
url: http://localhost:9060
sse-endpoint: /sse
stdio:
servers-configuration: classpath:mcp-server.json
openai:
api-key: ${OPENAI_API_KEY}
base-url: ${OPENAI_BASE_URL}
chat:
options:
model: ${OPENAI_MODEL}
vectorstore:
redis:
initialize-schema: true # 是否初始化所需的模式
index-name: lee-vectorstore # 用于存储向量的索引名称
prefix: 'embedding:' # Redis 键的前缀
data:
redis:
host: 127.0.0.1
port: 9379
password: 123456
logging:
level:
root: info
internet:
websearch:
searxng:
url: http://localhost:6080/search
counts: 10
依赖的maven的 pom.xml 配置
bash
<dependency>
<groupId>io.github.cdimascio</groupId>
<artifactId>dotenv-java</artifactId>
<version>3.2.0</version>
</dependency>
在项目启动的时候,需要把此.env 配置放到上下文中。
java
import io.github.cdimascio.dotenv.Dotenv;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
// 加载.env文件
Dotenv dotenv = Dotenv.configure().ignoreIfMissing().load();
// 把.env文件中的变量设置到环境变量中
dotenv.entries().forEach(entry -> System.setProperty(entry.getKey(), entry.getValue()));
SpringApplication.run(Application.class, args);
}
}