QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 26392|回复: 74

设置JDK教程.

[复制链接]
发表于 2003-8-18 10:41:44 | 显示全部楼层 |阅读模式
下面以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!
 楼主| 发表于 2003-8-18 10:55:23 | 显示全部楼层
[code:1]
# /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
       
下面略
[/code:1]
回复

使用道具 举报

发表于 2003-8-23 23:23:06 | 显示全部楼层
就只需要加上这一行?
不是说还有JAVA_HOME, JAVA_LIB吗?
回复

使用道具 举报

 楼主| 发表于 2003-8-24 11:22:31 | 显示全部楼层
可以就是了啦
你试试看啊
回复

使用道具 举报

发表于 2003-8-24 19:16:33 | 显示全部楼层
我把JDK装到自己的Home目录下,可以吗?
回复

使用道具 举报

 楼主| 发表于 2003-8-25 12:25:54 | 显示全部楼层
可以的
不过这里要改成
export CLASSPATH=/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/rt.jar


export CLASSPATH=/home/xxx/j2******

要和你的目录对应
回复

使用道具 举报

发表于 2003-8-25 21:24:44 | 显示全部楼层
jbulider 可以直接安在linux下吗???
回复

使用道具 举报

发表于 2003-8-26 00:45:01 | 显示全部楼层
谢谢BartonZhang
回复

使用道具 举报

 楼主| 发表于 2003-8-26 09:36:29 | 显示全部楼层
没什么,Linuxer都是一家人.

问题是我在处理建构式的时候,编译器还是没有到当前目录找文件,好像这个. 没用一样.不理解.
有些程序还是要指定路径的.就是在CLASSPATH里面单独加入你想编译的文件夹的地址.
麻烦了一点,不过可以用就OK了
回复

使用道具 举报

发表于 2003-9-11 16:39:50 | 显示全部楼层
我是linux的新用户 装好了JDK1。4。2,都是默认的安装,也修改了profile,现在在rxvt里面运行java和javac都显示bash:java:command not found。很想快点能用上jdk,以后就都不用windows环境开发了
回复

使用道具 举报

 楼主| 发表于 2003-9-13 20:24:16 | 显示全部楼层
创建JAVAC 和 JAVA的联接到/USR/BIN
回复

使用道具 举报

发表于 2003-9-16 18:48:57 | 显示全部楼层
用gcc能编java么???
回复

使用道具 举报

发表于 2003-9-21 17:38:36 | 显示全部楼层
BartonZhang
我按照你的方法设置好/etc/profile文件后编译
public class  hello{
    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);
    }
}
则出现
[root@localhost root]# javac Welcome.java
[root@localhost root]# 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)
回复

使用道具 举报

 楼主| 发表于 2003-9-22 11:54:50 | 显示全部楼层
恩,这个问题我很早的时候出现过,不过很早就解决了。所以现在实在想不起来了。

好象是很简单的。就是编译的时候用 javac --classpath XXX.java这个命令编译。详细的内容看看javac和java命令的帮助(就是直接在终端内输入命令)

这个是我在SUN的JAVA教材里面看来的。你去官方网站找找看,如果找不到,我10。1回家可以一个详细的回答
回复

使用道具 举报

发表于 2003-9-22 16:26:46 | 显示全部楼层
我设置完profile后,它的MIME类型变成application/octet-stream,怎么回事阿~?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-25 05:36 , Processed in 0.113329 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表