设置JDK教程.
下面以j2sdk1.4.2为例。安装:
下载j2sdk1.4.2xxxx.sh
#chmod 711 j2sdk1.4.2xxxx.sh
#./j2sdk1.4.2xxxx.sh
安装完成了
默认是安装到/opt/j2sdk_nb这个文件夹
如果你安装了javabeanIDE,那么这个文件夹里还有一个netbeans的文件夹。
/opt/j2sdj_nb/j2sdk1.4.2就是你的java主目录
在终端里试试javac和java这个命令,默认应该可以使用了的。
下面讲一讲如何设置环境变量,在编程时可以引入各种JAVA的默认包。
打开/etc/profile文件
加入一下文字:
export CLASSPATH=.
export CLASSPATH=/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/dt.jar
下面解释一下:
第一行的“." 的意思是本目录。
就是说如果有继承之类的,要找另外一个class,就先在编译的这个目录找。
第二行的"/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/dt.jar"
就是告诉系统,再到这个文件里面找你要的东西
就是这样了,可以依此类推
还有一点,修改完后用source /etc/profile这个命令更新/etc/profile文件.
update Monday; December 11, 2006 1:08 AM: future questions will not be answered. Sorry. I quited java developing. Thanks for you guys' discussion. Rock yo!
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
#Barton Addition for java environment
export CLASSPATH=.
export CLASSPATH=/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/rt.jar
#Barton Addition for java ends
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
下面略
就只需要加上这一行?
不是说还有JAVA_HOME, JAVA_LIB吗? 可以就是了啦
你试试看啊 我把JDK装到自己的Home目录下,可以吗? 可以的
不过这里要改成
export CLASSPATH=/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/rt.jar
export CLASSPATH=/home/xxx/j2******
要和你的目录对应 jbulider 可以直接安在linux下吗??? 谢谢BartonZhang! 没什么,Linuxer都是一家人.
问题是我在处理建构式的时候,编译器还是没有到当前目录找文件,好像这个. 没用一样.不理解.
有些程序还是要指定路径的.就是在CLASSPATH里面单独加入你想编译的文件夹的地址.
麻烦了一点,不过可以用就OK了 我是linux的新用户 :oops: 装好了JDK1。4。2,都是默认的安装,也修改了profile,现在在rxvt里面运行java和javac都显示bash:java:command not found。很想快点能用上jdk,以后就都不用windows环境开发了 :lol: 创建JAVAC 和 JAVA的联接到/USR/BIN 用gcc能编java么??? BartonZhang
我按照你的方法设置好/etc/profile文件后编译
public classhello{
public static void main(String args[]){
System.out.println("hello");
}
}
可以运行
但是编译
import javax.swing.JOptionPane;
public class Welcome{
public static void main(String args[]){
JOptionPane.showMessageDialog(null, "Welcome\nto\njagva\nprogramming!");
System.exit(0);
}
}
则出现
# javac Welcome.java
# java Welcome
Exception in thread "main" java.lang.VerifyError: verification failed at PC 123
in javax.swing.JComponent:getListeners((Ljava.lang.Class;)[Ljava.util.EventListener;): incompatible return type
at 0x40268e17: java.lang.Throwable.Throwable(java.lang.String) (/usr/lib/./libgcj.so.3)
at 0x4025bc8e: java.lang.Error.Error(java.lang.String) (/usr/lib/./libgcj.so.3)
at 0x4025d6b6: java.lang.LinkageError.LinkageError(java.lang.String) (/usr/lib/./libgcj.so.3)
at 0x402691b6: java.lang.VerifyError.VerifyError(java.lang.String) (/usr/lib/./libgcj.so.3)
at 0x4023f5a9: _Jv_BytecodeVerifier.verify_fail(byte, int) (/usr/lib/./libgcj.so.3)
at 0x40232c51: _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib/./libgcj.so.3)
at 0x40231857: _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib/./libgcj.so.3)
at 0x40229ae4: _Jv_PrepareClass(java.lang.Class) (/usr/lib/./libgcj.so.3)
at 0x40248028: java.lang.ClassLoader.linkClass0(java.lang.Class) (/usr/lib/./libgcj.so.3)
at 0x4025acb3: java.lang.ClassLoader.resolveClass0(java.lang.Class) (/usr/lib/./libgcj.so.3)
at 0x402299cb: _Jv_PrepareClass(java.lang.Class) (/usr/lib/./libgcj.so.3)
at 0x40248028: java.lang.ClassLoader.linkClass0(java.lang.Class) (/usr/lib/./libgcj.so.3)
at 0x4025acb3: java.lang.ClassLoader.resolveClass0(java.lang.Class) (/usr/lib/./libgcj.so.3)
at 0x4024646c: java.lang.Class.initializeClass() (/usr/lib/./libgcj.so.3)
at 0x402296af: _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib/./libgcj.so.3)
at 0x40230827: _Jv_InterpMethod.continue1(_Jv_InterpMethodInvocation) (/usr/lib/./libgcj.so.3)
at 0x40230ff4: _Jv_InterpMethod.run(ffi_cif, void, ffi_raw, _Jv_InterpMethodInvocation) (/usr/lib/./libgcj.so.3)
at 0x4022e504: _Jv_InterpMethod.run_normal(ffi_cif, void, ffi_raw, void) (/usr/lib/./libgcj.so.3)
at 0x4038305c: ?? (??:0)
at 0x40242dd8: gnu.gcj.runtime.FirstThread.call_main() (/usr/lib/./libgcj.so.3)
at 0x402ad02d: gnu.gcj.runtime.FirstThread.run() (/usr/lib/./libgcj.so.3)
at 0x4024fc4c: _Jv_ThreadRun(java.lang.Thread) (/usr/lib/./libgcj.so.3)
at 0x4021c8ac: _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/usr/lib/./libgcj.so.3)
at 0x08048910: ?? (??:0)
at 0x42015574: __libc_start_main (/lib/tls/libc.so.6)
at 0x080486c1: ?? (??:0) 恩,这个问题我很早的时候出现过,不过很早就解决了。所以现在实在想不起来了。
好象是很简单的。就是编译的时候用 javac --classpath XXX.java这个命令编译。详细的内容看看javac和java命令的帮助(就是直接在终端内输入命令)
这个是我在SUN的JAVA教材里面看来的。你去官方网站找找看,如果找不到,我10。1回家可以一个详细的回答 我设置完profile后,它的MIME类型变成application/octet-stream,怎么回事阿~?