问题标签 [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.
java - 如何判断系统属性是否来自人工操作,而不是默认?
我有一个 JAR 打包的独立应用程序,它在执行时会将自身解压缩到一个临时目录中并在该目录中生成一个子进程。一些第三方代码和配置的原因是假设数据文件是相对于当前工作目录找到的,而 java 没有 chdir() 方法,所以唯一的方法是为子进程切换工作目录。
一切正常,除了系统属性。操作员可能会决定在命令行中指定一些系统属性,包括标准属性和与第三方配置相关的属性:
默认情况下,父 java 进程可用的系统属性不会传播给子进程。我应该自己做。在这里我遇到了一个障碍:我无法分辨哪些属性是由操作员设置的,哪些是由 JVM 默认初始化的。
拿那个 java.io.tmpdir 一个。如果运营商提供了它,他有充分的理由这样做(也许默认位置是“磁盘已满”)。我必须将其设置为子进程,否则它将失败。但是我怎么知道它是否来自运营商?它可能只是默认值。
我可以尝试将所有可用的系统属性设置为子进程。虽然它需要很长的列表,更糟糕的是,在命令行长度有限的某些环境中会失败。
到目前为止,我发现的唯一解决方法(非常邪恶的)是首先生成另一个子进程,根本没有任何参数,然后让它通过管道将它拥有的所有系统属性返回给父进程。与父级匹配的值是默认值。其余的应该传递给工作子进程。
有没有人有更好的选择?
java - 如何从 Freemarker 模板访问 Java 系统属性?
我开始使用 Freemarker 组装简单的 HTML 页面,使用FMPP Maven 插件。到现在为止还挺好。但我需要做的一件事是在页面上包含系统属性(Maven 提供的系统属性之一)的值。有没有办法从 Freemarker 模板访问系统属性?(如果没有,我可能只需要破解插件以允许从 Maven 传递值)
java - 设置多个系统属性 Java 命令行
有没有更简单的方法可以在 Java 程序的命令行上指定多个系统属性,而不是使用多个 -D 语句?
试图避免这种情况:
我以为我已经看到有人使用一个-D
和一些引用的字符串的例子,但我再也找不到这个例子了。
grails - 在 Grails 2.0 交互模式中指定系统属性
有没有办法在(已经开始的)grails交互模式下指定系统属性?
例如我会在命令行中指定环境:
但在交互模式下,这种方式是不可能的(因为 JVM 已经启动):
java - 在 Spring 中配置系统属性
我有文件通道适配器,需要以指定的时间间隔收听目录。我有以下代码。
directory="file:${SYS.com.abc.wls.workdir}/finalize/
当我用一个真实的目录名(如) replcedirectory="file:C:/temp/finalize/
一切正常。但是启动服务器时正在设置系统属性,但是spring没有检测到系统属性。
能否请你帮忙 ?
更新 :
我有以下占位符配置
已删除:file:
从directory="file:${SYS.com.abc.wls.workdir}/finalize/"
并更改为auto-create-directory="false"
,现在我得到如下异常,
maven - 如何从 JUnit 测试中读取 Maven 属性?
我将 Maven 3.0.3 与 JUnit 4.8.1 一起使用。在我的 JUnit 测试中,如何读取我的 Maven pom.xml 文件中定义的 project.artifactId?在我的 pom 中,我有
但这在我的 JUnit 测试中无法获取工件 id ...
以上输出“artifactId:null”。无论如何,感谢任何帮助, - 戴夫
java - http.proxyHost 系统属性设置为 null
请帮助我找出以下行为的原因。
我在 Tomcat 容器中运行了两个应用程序:我的应用程序和 Hudson (v2.2.0)。Tomcat 以-Dhttp.proxyHost=proxy -Dhttp.proxyPost=8080
选项启动,以便我的应用程序使用代理访问外部 Web 服务。
我检测到 Hudson 运行 maven 构建的以下非常奇怪的行为: 在某个时间点(就在启动 maven 之前),http.proxyHost系统属性设置为 null。也许我跟踪了错误的跟踪,我的应用程序(部署到同一个 Tomcat)崩溃了,因为它无法打开连接,我认为这两个是相对的。
我已经安装了自定义ProxySelector以在代理重置时进行报告。看起来http.proxyHost在 maven 开始依赖解析之前被重置:
我可能对实际发生的事情有误:Maven 应该在单独的 JVM 中运行,但是我在项目中安装到 JVM 静态变量的CustomProxySelector如何从 Maven JVM 中可见?如果“父”JVM 和“分叉”JVM 共享相同的根类加载器,那么它们可能也共享系统属性。这意味着,如果 Maven 构建(甚至是临时的)将http.proxyHost设置为 null 并且我的进程这次打开 URL,它将失败。
我的问题是:如果上述行为是 Hudson / Maven 中的错误?什么可以是一种解决方法(除了运行 2 个 Tomcat 服务器的琐碎之外)。
java - 在 user.home 的另一个目录中创建一个目录?
我只是想知道我制作的代码是否可以在彼此之间创建多个目录。我用这个作为参考。
综上所述,我在 中创建了第一个目录“My Games” user.home
,然后将我的游戏名称“Type King”放在该目录中,每当用户输入用户名时,我都希望创建一个目录,即他们的用户名。 File f
只检查目录中的文件username
。
java - 从命令行获取 java 进程的“user.dir”系统属性
我正在尝试从命令行读取特定 java 进程的系统属性“user.dir”。我已经看到了几个从 Java 代码 (System.getProperty) 获取系统属性的示例,但是我需要为另一个 java 进程设置系统属性。
我怎样才能获得相同的东西?