导读
(1) JDK安装
(2) 工具
(3) jar包
附件:
window_path: window的一些开发工具的环境变量配置
一 JDK的搭建
1. Linux下JDK搭建
(1) 获取JDK
·官网获取orceal的JDK
·直接安装openjdk
(2) 配置环境路径
·配置orceal的JDK为以下路径
wenguang $ vim .bashrc
# 添加以下内容
export JAVA_HOME=/usr/local/java1.8
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/tools.jar
·JAVA_HOME 即为JDK的安装路径
·配置openjdk
#PATH不需要设置
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
(3) 测试
#输出JDK的版本
wenguang $ java -version
wenguang $ javac -version
·javac 负责java的编译
·java 负责执行
2 window下JDK的搭建
(1) 安装JDK
window版本的JDK分为JDK和JRE,一般只安装JDK即可
eclipse tomcat安装JRE的时候,依赖JDK即可
也可以直接把JDK文件拷贝过去,不需要写入注册表
(2) 配置环境变量
此电脑(右击选择属性)→左侧菜单(高级系统设置)→顶部导航选高级(找环境变量)→系统变量(增加如下配置)
JAVA_HOME
C:\Users\qinwenguang\java\jdk\jdk1.8
classpath
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
Path
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%M2_HOME%\bin
注:对应自己JDK安装位置。
3. 注意
(1) 设置
设置java变量时候,后面不要加斜杠 ,以防变量的斜杠和classpath里面的斜杠冲突
(2) classpath的作用
找到运行的class文件(.的解释)
建立包名: 找到自己附加的类库,根据classpath(完整路径)和类名组合(其他路径的解释)
(3) linux环境变量和window环境变量的区别
引用环境变量linux为$name ,window为%name%
linux为:分割,window为;分割
linux为/(斜杠),window为\(反斜杠);
4. classpath中tools.jar dt.jar的作用
(1) tools.jar
· tools.jar 是系统用来编译一个类的时候用到的,即执行javac的时候用到;
· javac XXX.java 就是执行 java -Calsspath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java
(2) dt.jar
运行环境类库,主要是Swing包;
如果在开发时候没有用到Swing包,那么可以不用将dt.jar添加到CLASSPATH变量中。
5. java javax的区别
(1) 规则
在JavaAPI中, 包最前面被分为Java 和 javax两大类
Java 代表java se中的基础包: io 集合 …
javax (java extension) 代表扩展包: xml servlet…
二 Java工具
1. jps
(1) 作用
列出正在运行的虚拟机进程
(2) ex
注:这个和Linux下的ps命令一样, ps也可以列出运行的Java进程
2. javadoc
(1) 常见的注释
类的功能
方法的用法, 参数的意义, 返回值
常量的功能
(2) 用法
#单个包生成文档
javadoc -d 存放目录 packageOfName
#文件在默认包中
javadoc -d doc *.java入代码片
注:源文件名可以包括路径和通配符如“”*
(3) ex
import java.io.*;
import java.util.*;
/**
@author wenguang
@version 0.1
*/
/**
this is test class
*/
public class Test{
/**
程序的入口
@param args[] 运行启动时候的参数
@return 无返回值
*/
public static void main(String args[]){
System.out.println("");
}
}
@since 版本: 该标记可以生成一个注释表明这个特性
@author 作者名: 文档注释可以包含多个@author标记
@version 版本: 建议一个“版本”条目
@param param_name: 当前方法需要的所有参数,都需要用这个标记进行解释,并且这些标记都应该放在一起
@return 返回值的作用: 当返回值位void的时候, 不需要有此,否则报错
(5) 当中文文字乱码的时候
javadoc -d doc -encoding UTF-8 -charset UTF-8 *.java
三 jar包
1 .jar包
(1) 打包成jar包
将所有的类都编译成class字节码
打包
(2) 如何运行一个jar包
修改 META-INF/MANIFEST.MF, 将main类加上去(包名.类名)
Main-Class: JarTest
java -jar test.jar
2. jar包中获取路径。
(1) 注:在jar包中, 不能通过class.getResource()来获取路径
(2) ex
package httpfile;
import java.io.File;
public class FileClass {
public static void main(String[] args) {
//获取jar名称
String jarName = System.getProperty("java.class.path");
String fullPath = new FileClass().getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
int lastIndex = fullPath.lastIndexOf('/');
String path = fullPath.substring(1,lastIndex);
path = path.replace('/', File.separatorChar);
System.out.println("jarName: "+jarName);
System.out.println("fullPath :"+fullPath);
System.out.println("path :"+path);
}
}
(3) 打包成jar运行
C:\Users\qinwenguang\java\eclipse-workspace\httpfile\target>java -jar httpfile-0
.0.1-SNAPSHOT-jar-with-dependencies.jar
jarName: httpfile-0.0.1-SNAPSHOT-jar-with-dependencies.jar
fullPath :/C:/Users/qinwenguang/java/eclipse-workspace/httpfile/target/httpfile-
0.0.1-SNAPSHOT-jar-with-dependencies.jar
path :C:\Users\qinwenguang\java\eclipse-workspace\httpfile\target\