相关疑难解决方法(0)

如何从Java设置环境变量?

如何从Java设置环境变量?我看到我可以使用子进程执行此操作ProcessBuilder.我有几个子进程要启动,所以我宁愿修改当前进程的环境,让子进程继承它.

有一个System.getenv(String)获取单个环境变量.我也可以获得一套Map完整的环境变量System.getenv().但是,要求put()Map引发UnsupportedOperationException-显然,他们的意思是对环境只能被读取.并且,没有System.setenv().

那么,有没有办法在当前运行的进程中设置环境变量?如果是这样,怎么样?如果没有,理由是什么?(这是因为这是Java,因此我不应该做一些邪恶的非便携式过时的事情,比如触摸我的环境吗?)如果没有,那么管理环境变量的任何好建议都会改变我需要提供给几个子进程?

java environment-variables

270
推荐指数
13
解决办法
35万
查看次数

如何使用JUnit测试依赖于环境变量的代码?

我有一段使用环境变量的Java代码,代码的行为取决于此变量的值.我想用环境变量的不同值测试此代码.我怎么能在JUnit中这样做?

我已经看到了一些在Java设置环境变量的方法,但是我对它的单元测试方面更感兴趣,特别是考虑到测试不应该相互干扰.

java testing junit unit-testing environment-variables

113
推荐指数
10
解决办法
10万
查看次数

获取 Java 中 `-illegal-access` 设置的当前值

本文JDK 9: Proposal to allow非法反射访问默认情况下,声称该–permit-illegal-access选项将被更通用的选项–illegal-access.

  • –illegal-access=permit
  • –illegal-access=warn
  • –illegal-access=debug
  • –illegal-access=deny

? 那发生了吗?有–illegal-access设置吗?

? 这些是怎么设置的?启动 JVM 的参数?

? 如何在运行时获取当前值?

java reflection settings

15
推荐指数
1
解决办法
2万
查看次数

kotest更改环境变量

我正在使用 Kotests 为 Ktor 应用程序编写测试,但偶然发现了如何在全局范围内更改测试的环境变量的问题。我尝试过添加withEnvironment,但它给我带来了非常奇怪的错误

Unable to make field private final java.util.Map java.util.Collections$UnmodifiableMap.m accessible: module java.base does not "opens java.util" to unnamed module @3daa422a
java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.Map java.util.Collections$UnmodifiableMap.m accessible: module java.base does not "opens java.util" to unnamed module @3daa422a
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
Run Code Online (Sandbox Code Playgroud)

我的测试文件看起来像这样

class VisitorSpec : FreeSpec({
    val ds = createDataSourceTest()

    val visitor = RegisterVisitorDTO(
        email = TestConstants.VISITOR_EMAIL,
        username = TestConstants.VISITOR_USERNAME,
        password = TestConstants.PASSWORD,
        firstName = TestConstants.VISITOR_FIRST_NAME,
        lastName = TestConstants.VISITOR_LAST_NAME,
        gender = …
Run Code Online (Sandbox Code Playgroud)

testing kotlin kotest

5
推荐指数
1
解决办法
1856
查看次数