在文件系统上找不到文件.env

问题描述 投票:0回答:1

这是我在项目中的项目路径

com.bor.lockSysytem\
    │       ├── WEB-INF\
    │       │   ├── web.xml
    │       │   └── .env   
 import io.github.cdimascio.dotenv.Dotenv;
     public interface IConstant {   
        Dotenv dotenv = Dotenv.configure().directory("WEB-INF").filename(".env").load(); 
        public static final String GOOGLE_CLIENT_ID = dotenv.get("GOOGLE_CLIENT_ID"); 
}

无法归档时的输出

Suppressed: io.github.cdimascio.dotenv.DotenvException: Could not find WEB-INF\.env on the file system (working directory: D:\apache-tomcat-8.5.100\bin)
        
            

我不知道为什么我不能通过这段代码获取路径并获取可变环境,我使用

dotenv-java-2.3.2.jar
并且不使用
pom.xml

但是当我不在
WEB-INF
中设置文件 .env 并将此文件设置在文件夹
bin
 的文件夹 
apache-tomcat

中时

并使用代码

Dotenv dotenv = Dotenv.configure().directory(".") .filename(".env").load();
,它可以工作,但我认为我不应该在文件夹 bin 中设置。所以我希望我能解决这个问题

java tomcat environment-variables dotenv
1个回答
0
投票
  • .env
    文件,默认war路径为
    WEB-INF/classes/.env
  • 不是
    WEB-INF/.env
com.bor.lockSysytem
...
└── WEB-INF
    ├── web.xml
    └── classes
       ├── .env    
       └── com
           └── bor
               ├── ....
               └── ....

IConstant.java

public interface IConstant {   

  //Dotenv dotenv = Dotenv.configure().directory("WEB-INF").filename(".env").load(); 
  Dotenv dotenv = Dotenv.load();
  
  public static final String GOOGLE_CLIENT_ID = dotenv.get("GOOGLE_CLIENT_ID"); 
}
© www.soinside.com 2019 - 2024. All rights reserved.