java 如何构建包含环境变量的maven项目

vcirk6k6  于 2023-02-21  发布在  Java
关注(0)|答案(1)|浏览(133)

我需要帮助。我正在尝试打包我的maven版本,并包括环境变量,但我的程序找不到.env文件。我该如何解决这个问题?我一直在使用eclipse,但是我不知道在哪里可以配置.env文件的路径。我使用io.github.cdimascio来读取环境变量。程序在我的IDE上运行良好。当我在IDE外运行程序时,问题就出现了。我该怎么办?

Exception in thread "Thread-1" Exception in thread "Thread-0" java.lang.ExceptionInInitializerError
        at com.arcalitegames.Main$2.run(Main.java:29)
        at java.lang.Thread.run(Unknown Source)
Caused by: io.github.cdimascio.dotenv.DotEnvException: Could not find ./.env on the classpath
        at io.github.cdimascio.dotenv.internal.ClasspathHelper.loadFileFromClasspath(ClassPathHelper.kt:37)
        at io.github.cdimascio.dotenv.internal.DotenvReader.read(DotenvReader.kt:36)
        at io.github.cdimascio.dotenv.internal.DotenvParser.parse(DotenvParser.kt:26)
        at io.github.cdimascio.dotenv.DotenvBuilder.load(Dotenv.kt:119)
        at com.arcalitegames.connector.Devs.getDotenv(Devs.java:10)
        at com.arcalitegames.connector.Connector.<clinit>(Connector.java:14)
        ... 2 more
nnsrf1az

nnsrf1az1#

当我试图将我的程序部署到Glassfish时,我遇到了同样的问题。您需要在文件系统上指定一个位置,如~,并将您的.env文件放置在那里。
下面是如何执行此操作的示例:

Dotenv env = Dotenv.configure().directory(System.getProperty("user.home")).load();

如果您将文件放在~/. env中,Dotenv现在应该能够找到该文件。

相关问题