Java环境变量设置及简单使用
一、Java环境变量
- 使用 Win + Pause组合键或在”桌面计算机图标”上右键选择”属性”:

- 点击”高级系统设置”,在系统属性对话框的高级页签中选择”环境变量”

- 根据需要设置”用户变量(当前用户有效)”或”系统变量(所有用户有效)”
新建或修改以下变量:
JAVA_HOME:C:\Program Files\Java\jdk1.7.0_01(jdk安装目录)
CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(复制即可)
Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(复制即可)
- 测试配置是否成功
在命令行下输入:java -version

二、编译、运行Java程序
1、编写程序
public class HelloWorld 
{
	public static void main(String[] args) 
	{
		System.out.println("Hello World!");
	}
}
2、编译
- 切换到HelloWorld文件所在的目录,执行:
javac HelloWorld.java

- 执行完之后会生成HelloWorld.class文件

3、运行
- 执行java HelloWorld,运行刚生成的.class文件

三、编译、运行Java程序(带参数)
1、源码
package com.util;
public class Utils
{
	public static void hi() 
	{
		System.out.println("Hi, Java!");
	}
}
package com.test;
import com.util.Utils;
public class Hi
{
	public static void main(String[] args) 
	{
		Utils.hi();
	}
}
- 目录结构

2、使用javac -d命令指定编译后的class文件的目录
 - 将class文件编译到当前目录下的classes目录中
javac -d ./classes ./com/test/Hi.java

- 执行后会自动在classes目录下按包路径创建文件夹


备注:如果Java类中依赖了其他jar里的类,在编译时需通过-Djava.ext.dirs指定jar路径。
 例如:
javac MyTest.java -Djava.ext.dirs=./
3、使用-cp或-classpath指定class文件路径
 java -cp classes com.test.Hi

效果相当于切换到classes目录下,再运行java com.test.Hi

备注:如果Java类中依赖了其他jar里的类,需要在-classpath参数中也将引用的jar添加进去:
 java -classpath .;log4j-1.2.17.jar MyTest
四、jar命令
 jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files
1、常用选项
- -c:创建新档案
- -v:在标准输出中生成详细输出
- -f:指定档案文件名
- -m:包含指定清单文件中的清单信息
- -x:从档案中提取指定的(或所有)文件
-  -C:更改为指定的目录并包含其中的文件
- Example

2、简单打包一个类
- jar cvf hello.jar HelloWorld.class



- 清单文件:


此种方式生成的jar不能使用java -jar hello.jar运行
 3、打包多个类且指定清单文件
将complex目录中com文件夹编译后的classes目录中的所有文件打包到hi.jar中:
- 从上面hello.jar中拷贝一份MANIFEST.MF文件放在complex目录下:

增加:Main-Class: com.test.Hi
Manifest-Version: 1.0
Created-By: 1.7.0_01 (Oracle Corporation)
Main-Class: com.test.Hi
- 运行 jar cvfm hi.jar MANIFEST.MF -C classes/ .

- 此时会在complex目录下生成hi.jar

- 运行java -jar hi.jar

4、解压jar文件到当前目录
- jar xvf hello.jar
