相关疑难解决方法(0)

众包通用Java系统属性和已知值的完整列表

我受到另一个问题的启发:使用Java系统属性的最佳实践

我目前正在寻找Java系统属性和可能值的完整列表.我正在研究一个简单的类来简化它们的使用(如果你有兴趣,请获取源背景信息(我的博客)).在这个课程中,我尝试提供以下内容:

  • 对Java系统属性的简单一致访问(无String常量)
  • 完整的可用属性文档及其可能的值 - 在我的IDE中(即自动完成,内联Javadoc)
  • 修复返回值和/或命名的不一致性
  • 确保java.io.tmpdir存在 - 实际上这是我做这一切的主要原因:)

要获得完整的文档和可用属性的完整列表(即使可用性严重依赖于JVM的那些),我希望您下载源代码,运行它并发布结果.我会相应地更新课程,并在指定地点保持可用.希望它会让你们中的一些人放松一下:)

编辑:

我不是在寻找System.getProperties()所描述的标准属性,也不是我系统上可用的所有属性.我正在尝试创建一个完整的系统属性列表 - 甚至是那些与供应商,jvm或版本相关的属性 - 那些不保证存在且文档稀疏或难以找到的属性.属性如

  • sun.desktop(仅限Linux,例如"gnome"),
  • awt.toolkit(仅限Mac,例如apple.awt.CToolkit)
  • sun.cpu.endian(仅限Sun JVM)
  • ...

我希望让其他人运行我的代码并发布他们的结果,以便以易于使用的Java枚举的形式编译一个全面的列表(包含属性及其可能值的大量文档),例如:

String file = SystemProperty.JAVA_IO_TMPDIR + "file.txt";
Run Code Online (Sandbox Code Playgroud)

代替

String tmp = System.getProperty("java.io.tmpdir");
if (!tmp.endsWith(File.separator)
    tmp += File.separator;
new File(tmp).mkdirs(); // make sure tmp exists
String file = tmp + "file.txt";
Run Code Online (Sandbox Code Playgroud)

所以请运行该代码并发布您的发现.这是一个简单的脚本,可以帮助您入门:

#!/bin/bash
# download and run
# you should really look at the code first, as you can't …
Run Code Online (Sandbox Code Playgroud)

java properties crowdsourcing system-properties

23
推荐指数
2
解决办法
8887
查看次数