问题标签 [system-properties]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
27776 浏览

configuration - Jetty - 设置系统属性

我在 Jetty 上运行 webapp。应用程序的配置来自运行 Jetty 的同一台服务器上的文件。在应用程序内部,我依靠系统属性来获取文件的路径,以便解析它。例如

现在我可以使用 D 开关启动码头以$FACTORY在命令行上提供,但如果可以的话,我宁愿把它放在 jetty.xml 中。我知道有<SystemProperty />标签,但这似乎只是提供<Set/>标签已经存在的系统值。有人可以举例说明如何实现吗?(如果可以实现)

0 投票
2 回答
1638 浏览

java - 在我的自定义 .properties 文件中继承 user.home 属性

我可以working-dir="file:${user.home}/some-directory"在我的 .properties 文件中执行类似的操作吗?我正在使用 ResourceBundle 从 .properties 文件加载配置,并且我将继承系统属性键,例如user.home我的working-dir属性。能够做到这一点会很好,因为我可以分别在源包和测试包的资源目录中拥有不同版本的 .properties。我想working-dir为我的生产和测试环境定义不同的值。

0 投票
3 回答
5649 浏览

java - 为测试加载系统属性

我最近找到了一个解决方案,可以让我为我的单元测试加载系统属性。如果我单独运行测试,它会很好,但如果我选择运行整个测试套件,它会失败。有人能告诉我为什么吗?

第一步是加载测试应用程序上下文:

下一步是创建一个将加载系统属性的类:

最后一步是在我的测试应用程序上下文中将其列为 bean:

当我运行测试套件时,我的几个测试都失败了,所有这些测试都依赖于系统属性。如果我去特定的测试并运行它,它就会通过。我已经对其进行了调试,并且验证了 SystemPropertiesLoader 中的代码正在执行,并且所有其他 bean 都已成功从上下文中拉出。但是,这些属性没有被正确加载,因为当我尝试访问它们时它们都为空。有什么建议么?

0 投票
3 回答
12979 浏览

java - 在 Java 中将系统属性设置为 Null

在我的单元测试中,我需要将“workingDir”系统属性设置为 Null。

但我不能这样做,因为它给了我 NullPointerException:

我该怎么做?

0 投票
2 回答
390 浏览

java - Java 预处理器检查操作系统

如何使用 Java 预处理器来确定我正在编译的操作系统?

0 投票
1 回答
5632 浏览

maven-2 - Maven 属性重载

我有非常简单的 Maven 描述符,它定义了一些属性:

我可以it.port用命令覆盖属性:

但是以下命令无法按预期工作:

这会将系统变量传递给 JVM,但 maven 拒绝覆盖此属性和为 test (8080) 提供的默认值。最初的问题是 TeamCity(出 CI 服务器)将系统变量传递给 JVM in MAVEN_OPTS,因此属性覆盖不起作用。

我可以用MAVEN_OPTS环境变量覆盖 Maven 属性吗?

0 投票
3 回答
2426 浏览

java - 更改“user.dir”-Property 后,相对路径的 File.createNewFile() 使用了错误的目录

我想要做的是在我更改它之后在我的用户目录中创建一个具有相对路径的新文件。要更改我使用的用户目录System.setProperty("user.dir", "/data");,然后我创建了一个文件对象,File f2 = new File("f2");并在我的文件系统上创建了一个空文件f2.createNewFile();。在此之后,我希望该文件出现在 /data/f2 中,这就是f2.getAbsolutePath()告诉我的。但是,令人困惑的是,该文件出现在“旧的、初始的”用户目录中。

这是我的测试:

这是我得到的输出:

尽管我在两者之间更改了 user.dir,但 f1 和 f2 出现在同一个目录中?

0 投票
1 回答
13211 浏览

android - 为 Android 应用程序设置系统属性

我可以(在 Manifest 文件或其他地方)为我的 Android 应用程序设置系统属性吗?

我想使用一个可以使用系统属性配置的库,并且能够只使用该机制将减少我需要编写的代码量。

0 投票
2 回答
8554 浏览

android - 关于系统属性

我知道如何从应用层访问 Android 系统属性。
在框架层android.os.SystemProperties类负责获取所有属性。但在内部,它调用了一些 C 代码来获取诸如native_get(key,value).
谁能告诉我C代码中基本上引用了哪个文件?

0 投票
6 回答
27415 浏览

java - 设置 Java 系统属性而不将值放在命令行上

我有一些依赖于系统属性的 Java 代码super.secret.password。当我运行我的应用程序时,我需要设置该属性。该应用程序将由 shell 脚本启动,密码将保存在具有最小读取权限的文件中。

我真的不想写:

因为这样任何人都可以进入机器并运行pstop可以看到密码是什么。

那么,有没有一种很好的方法来设置系统属性而不在命令行上暴露它们呢?

我们提出的唯一通用解决方案是编写一个小型 C 程序,该程序从文件中读取系统属性,然后使用JNI 调用 API启动 JVM 。不用说,我们并不热衷于这样做。

如果不使用命令行就无法设置它们,有没有办法隐藏命令行不被窥探?我们使用的是 Red Hat Enterprise Linux Server 5.5。

值得一提的是,有问题的应用程序实际上是 JBoss EAP 4.3.0,我们使用系统属性${like.this}在其 XML 配置文件中填充替换构造 ( )。有特定于 JBoss 的解决方案 - 使用SystemPropertiesService(默认情况下,通过部署目录中的 properties-service.xml 文件配置)或将-P 选项传递给 run.sh。但是,我对更一般的情况感兴趣,这可能是任何 Java 程序。