java - 在 Mac 上的 mvn 构建期间,Java 测试中的环境变量为空
问题描述
我有不同的 Java 测试行为(可能是在 MacOS 更新到 Big Sur 11.2.3 或其他系统之后)。
我的 JUnit 测试需要 Mac 上的变量 DYLD_LIBRARY_PATH 和 Ubuntu 上的 LD_LIBRARY_PATH(使用 mvn surefire,见下文)来查找一些 dylib/共享对象。
测试在 IntelliJ 中工作,在两个操作系统上都没有任何问题。但是在 mvn 构建期间,DYLD_LIBRARY_PATH 变量 (System.getenv(..)) 为空,并且在 Mac 上测试失败(在 Ubuntu 上它可以工作)。以'-X' 开头的 mvn 表明,surefire 设置了 DYLD_LIBRARY_PATH,但后来它仍然为空。
我正在使用 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>
解决方案
请在我们的JIRA中报告错误并将您的项目附加到 ZIP 中。我们需要重现它并调试插件,但该项目是必需的。
推荐阅读
- sql - express js & mariadb - 当我调用 sp 它返回附加数据
- python - UnknownError 语音识别包
- php - 如何在php echo中添加变量
- powershell - 使用 New-Variable 与使用赋值运算符“=”在 PowerShell 脚本中创建变量
- reactjs - Reactjs 分离 UI 和业务逻辑
- python - \ 如何影响输出?
- reactjs - React.js:npm start 显示不同的默认路由
- python - 将 UWSGI 和 TinyRPC 与 Flask 蓝图挂起应用程序一起使用?
- angular - RxJS - Shared Observables 不共享 observable 值
- javascript - 传递给子组件时道具未定义(反应钩子)