下面的代码运行后可以生成一个
system.properties文件,其中有一行java.class.path=[......]。
如果是将此类打入jar包 systemproperty.jar 中执行,java -jar systemproperty.jar,生成的文件中java.class.path=systemproperty.jar
如果是直接运行此类java SystemProperty,生成的文件中java.class.path=.;C/://Program Files//Java//jdk1.5.0_09//lib//tools.jar;C/://Program Files//Java//jdk1.5.0_09//lib//dt.jar;
参考【http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html】:
一个可执行的 JAR 必须通过 menifest 文件的头引用它所需要的所有其他从属 JAR。如果使用了
The JAR archive specified by the -jar option, which overrides all other values. If this option is used, all user classes must come from the specified archive.
如果是将此类打入jar包 systemproperty.jar 中执行,java -jar systemproperty.jar,生成的文件中java.class.path=systemproperty.jar
如果是直接运行此类java SystemProperty,生成的文件中java.class.path=.;C/://Program Files//Java//jdk1.5.0_09//lib//tools.jar;C/://Program Files//Java//jdk1.5.0_09//lib//dt.jar;
参考【http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html】:
一个可执行的 JAR 必须通过 menifest 文件的头引用它所需要的所有其他从属 JAR。如果使用了
-jar 选项,那么环境变量 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略。
The JAR archive specified by the -jar option, which overrides all other values. If this option is used, all user classes must come from the specified archive.
- import java.util.Properties;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.OutputStream;
- public class SystemProperty
- {
- public static void main(String[] args) {
- Properties properties = System.getProperties();
- try
- {
- OutputStream fos = new FileOutputStream("system.properties");
- properties.store(fos, "Comment!");
- }
- catch (FileNotFoundException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- catch (IOException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
本文介绍了一个 Java 程序如何将系统的属性,特别是 class path 信息,写入到一个名为 system.properties 的文件中。该程序适用于理解不同执行方式下(如直接运行或通过 JAR 文件运行)类路径的变化。

被折叠的 条评论
为什么被折叠?



