当前位置: 首页 > 知识库问答 >
问题:

在Mac上Javamvn构建期间,环境变量在测试中为空

郎思远
2023-03-14

我有不同的Java测试行为(可能是在MacOS更新到Big Sur 11.2.3或其他系统之后)。

我的JUnit测试需要Mac上的变量DYLD_LIBRARY_PATH和Ubuntu上的LD_LIBRARY_PATH(使用mvn sureFire,见下文)来查找一些dylibs/共享对象。

Test在IntelliJ中工作,在两个操作系统上都没有任何问题。但是在mvn构建过程中,使用DYLD_LIBRARY_PATH变量(System.getenv(..)为空,测试在Mac上失败(在Ubuntu上有效)。以“-X”开头的mvn显示surefire设置了DYLD_库_路径,但之后它仍然为空。

我使用的是maven-3.6.3、surefire 3.0.0-M5和OpenJDK 11.0.10。

有什么想法吗,我该如何处理环境问题?

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <environmentVariables>
            <LD_LIBRARY_PATH>${basedir}/src/main/resources/libs</LD_LIBRARY_PATH>
            <DYLD_LIBRARY_PATH>${basedir}/src/main/resources/libs</DYLD_LIBRARY_PATH>
        </environmentVariables>
    </configuration>
</plugin>

共有1个答案

汪正卿
2023-03-14

请在我们的JIRA中报告一个错误,并在ZIP中附上您的项目。我们需要复制它并调试插件,但项目是必需的。

 类似资料:
  • 我试图在构建过程中设置docker容器中的环境变量,但没有成功。使用运行命令时设置它们有效,但我需要在构建过程中设置它们。 Dockerfile文件 我用来构建的命令 运行 我正在检查可用的环境变量,通过使用 结果是 TEST_ENV不在场

  • 我正在尝试将服务器URL传递给在Docker容器中运行的React应用程序。它在应用程序中发送HTTP请求时使用,访问方式如下:server_url。这在主机上存储为en环境变量。 我尝试过直接在我的does文件中设置变量:< code > ENV server _ URL = $ { server _ URL } ,我认为这不起作用,因为< code>${server_url}是针对does文件

  • 问题内容: 我正在尝试在构建期间在Docker容器中设置环境变量,但没有成功。使用run命令设置它们可以工作,但是我需要在构建期间进行设置。 Docker文件 我正在使用的命令 跑步 我正在通过检查可用的环境变量 结果是 TEST_ENV不存在 问题答案: 用于设置在过程中使用的环境变量-它们不会出现在最终图像中,这就是为什么在使用时看不到它们的原因。 您使用的设置仅在构建映像时相关,而从映像运行

  • 我是使用Salesforce SDK开发本机应用程序的新手。我尝试使用ForceRoid工具从命令行创建android项目,但是在设置环境变量AndroidHome时遇到了问题。 但我不知道如何设置这个变量。 我附上截图来正确描述我的问题。

  • 问题内容: 我的特定用例是,我想组织一些有关容器在其上运行的EC2实例的数据,并使我可用作环境变量。构建容器时,我想这样做。 我希望能够在Dockerfile中执行类似的操作,但毫不奇怪,这行不通(您只得到了string )。 我应该提及的是,我知道将要执行此操作,但是我特别希望将其内置到容器中。 我是否缺少明显的东西?这有可能吗? 问题答案: Docker v1.9或更高版本 如果您使用的是Do