JRE(Java Runtime)是运行Java程序需要的。JDK(Java Development Kit)包含JRE和开发工具(比如编译器和调试器)是编写Java程序需要的,就是说编写Java程序需要JDK。
推荐使用最新版本的JDK,装多个版本会很凌乱的。 “Control Panel” ⇒ Program and Features ⇒ 卸载“Java SE Development Kit”和“Java SE Runtime”
不懂的话,请参见Windows 程序员的生存之道
双击下载后的exe,一路next,安装完毕
Start ⇒ Control Panel ⇒ System ⇒ (Vista/7/8) Advanced system setting ⇒ Environment Variables ⇒ 编辑Path
Variable name:PATH Variable value:c:\Program Files\Java\jdk1.8.0_xx\bin;编辑 JAVA_HOME,JRE_HOME,CLASSPATH(dt.jar, tools.jar)
输入java -version, javac -version
prompt> **java -version** java version "1.8.0_xx" Java(TM) SE Runtime Environment (build 1.8.0_xx-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode) prompt> **javac -version** javac 1.8.0_xx运行一下:
**javac Hello.java** **java Hello** Hello, world!http://www.oracle.com/technetwork/java/javase/downloads/index.html
请参阅:Ubuntu 上安装JDK
以上只是简单的说明一下,没有什么干货,下面才是我想要的
外部的Java包,比如Servlet、MySQL、Connector通常以jar包发布(jar:Java Archive, 包含多个Java类的单一文件包)并可能伴随着本地库(Windows下为”.lib”和”.dll”,linux/Mac下为”.a”和”.so”)
如果外部的JAR文件没有正确的引入:
编译阶段,你将收到编译错误“can not find symbol” 类属于外部包运行阶段,将收到运行时错误“Could not find or load main class xxx”或者“NoClassDefFoundError”可以这样做包含JAR文件:
Copy所有的外部JAR文件到Java扩展目录里。
Windows上该目录在“<java_home>\jre \lib\ext”。Mac上该目录在“/Library/Java /Extensions”和“/System/Library/Java/Extensions”。Ubuntu该目录在“<java_home>\jre \lib\ext”和”/usr/java/packages/lib/ext” Java扩展目录存放在Java系统属性“java.ext.dirs”里,可以使用如下代码打印: System.out.println(System.getProperty(“java.ext.dirs”)).通过CLASSPATH环境变量包含JAR文件,CLASSPATH可以包含目录(目录包含Java 类)或者Jar文件。如果设置CLASSPATH,你必须同时包含当前目录(使用“.”标识)。
Windows下,Control Panel ⇒ System ⇒ Advanced system settings ⇒ Advanced ⇒ Environment Variables ⇒ System Variables ⇒ New ⇒ 在“Variable name”里,输入“CLASSPATH” ⇒ 在“Variable value”里输入“.;path1\xxx.jar;path2\yyy.jar”。Linux和Mac下,编辑~/.profile或者~ /.bash_profile(或者 /etc/profile系统范围设置)在文件末尾添加如下代码: export CLASSPATH=.:path1/xxx.jar:path2/yyy.jar使用命令时,通过-cp 火鹤classpath 添加jar文件, 如下:
// Compile Java source code > javac -cp .:path1/xxx.jar:path2/yyy.jar ClassName.java // Run Java class > java -cp .:path1/xxx.jar:path2/yyy.jar ClassName有些外部包可能提供静态或者动态的本地包,本地库所在的目录可通过JRE属性 “java.library.path”获得,该path一般包含PATH环境变量中的所有目录但不是必须的。 Java在编译时不引入本地库,但如果设置不正确,在运行时会报错 “java.lang.UnsatisfiedLinkError: no xxx in java.library.path”。
可以这样包含本地库:
Copy本地库到系统库目录,比如:c:\windows \system32(Windows),/usr/lib或者/usr/local/lib(linux, Mac)运行时使用-Djava.library.path=xxx,比如:> java -Djava.library.path=xxx ClassName文章参见这 里
转载于:https://www.cnblogs.com/meshinestar/p/3990165.html
