我有一个简单的 JUnit 测试,我在 macOS Mojave 上的 Eclipse 中成功运行。该类对动态库进行 JNA 调用,因此我必须设置运行时环境变量DYLD_LIBRARY_PATH
当我尝试在mvn test
Eclipse 内部或外部运行时,它们都失败了。
据我所知,原因是 macOS 的系统完整性保护会擦除所有DYLD
变量。但是,必须可以以某种方式设置它们,因为 Eclipse 中的 JUnit 测试按设计工作。
我试图“破解”mvn
最后执行的shell脚本:
exec "$JAVACMD" \
$MAVEN_OPTS \
$MAVEN_DEBUG_OPTS \
-classpath "${CLASSWORLDS_JAR}" \
"-Dclassworlds.conf=${MAVEN_HOME}/bin/m2.conf" \
"-Dmaven.home=${MAVEN_HOME}" \
"-Dlibrary.jansi.path=${MAVEN_HOME}/lib/jansi-native" \
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${CLASSWORLDS_LAUNCHER} "$@"
通过DYLD_LIBRARY_PATH
在命令之前设置exec
,没有成功。还尝试先修补$JAVACMD
设置变量,没有运气。
我错过了哪些选项(没有禁用 SIP)?
我不是在寻找通用的解决方案,跑步mvn
是我的目标
类似的问题: