#vi /etc/profile
在后面加上
JAVA_HOME=/usr/java/jdk1.5.0_05
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH
[[root@MagicLinux java]]# source /etc/profile
linux redhatAS4在装jdk1.5的时候,执行rpm -ivh jdk-1_5_0_06-linux-i586.rpm,报error: can't create transaction lock,原因:
root用户吗?/var/lock/rpm目录下可写吗?
2. Windows
http://java.sun.com/j2se/1.5.0/download.jsp
JAVA_HOME=c:\j2sdk1.5.0
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (.;一定不能少,因为它代表当前路径)
path=%JAVA_HOME%\bin
3. javac java\util\ResourceBundle.java
4.jar应用
1>打包
jar -cvf aaa.jar test\ttt.class
aaa.jar
|_____test
| |______ttt.class
|_____META-INF
2>更新jar文件
jar uf jar-file input-file(s)
Update java.util.ResourceBundle class:
jar uvf rt.jar java/util/Resource*.class
If use jar like this:
jar uf rt.jar java\util\ResourceBundle$1.class java\util\ResourceBundle$LoaderReference.class java\util\ResourceBundle$ResourceCacheKey.class java\util\ResourceBundle.class
it would cause error in Linux:
ResourceCacheKey: Undefined variable.
3>add menifest.mf:
cd D:\eclipse-SDK-3.2.2-win32\eclipse\workspace\barchart\src
jar cvfm ..\barchart3d.jar ..\MANIFEST.MF *.*
Manifest-Version: 1.0
Main-Class: com.adobe.dsc.component.chart.BarChart3D
Class-Path: dom4j-1.6.1.jar jcommon-1.0.13.jar jfreechart-1.0.10.jar jaxen-1.1-beta-6.jar
Adding Classes to the JAR File's Classpath
Class-Path: classes12.jar lib/thirdlib.jar
Class-Path 是可执行jar包运行依赖的关键词.详细内容可以参考 http://java.sun.com/docs/books/tutorial/deployment/jar/downman.html 。要注意的是 Class-Path 只是作为你本地机器的CLASSPATH环境变量的一个缩写,也就是说用这个前缀表示在你的jar包执行机器上所有的CLASSPATH目录下寻找相应的第三方类/类库。你并不能通过 Class-Path 来加载位于你本身的jar包里面(或者网络上)的jar文件。因为从理论上来讲,你的jar发布包不应该再去包含其他的第三方类库(而应该通过使用说明来提醒用户去获取相应的支持类库)。如果由于特殊需要必须把其他的第三方类库(jar, zip, class等)直接打包在你自己的jar包里面一起发布,你就必须通过实现自定义的ClassLoader来按照自己的意图加载这些第三方类库。