LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4764|回复: 14

【新手必读】JAVA入门及FAQ。 

[复制链接]
发表于 2004-5-23 16:44:37 | 显示全部楼层 |阅读模式
zt from:www.chinajavaworld.com

一、入门
1、下载和安装J2SDK    http://java.sun.com/j2se/1.4.2/download.html  
2、JAVA VM            http://www.java.com/en/index.jsp
3、API               http://java.sun.com/api/index.html


1 首先下载J2SDK安装  
  a  更新PATH环境变量
        为了能在任何目录下都能执行java命令(如javac、java等),需要将java的bin目录放入PATH环境变量中。 对于Windows95/98, 打开“开始”菜单、选择“运行”、输入命令sysedit(调用系统配置编辑程序),在C:\AUTOEXEC.BAT窗口中找到PATH设置并追加一项(c:\j2sdk1.4.2_04\bin)对于Windows NT       and Windows 2000 ,进入“开始”菜单,选择“设置/控制面板/系统”。对于Windows NT,选择“环境”    页,对于Windows 2000,选择“高级”页,在环境变量设置中的用户变量栏中增加(如果原来没有PATH)    或修改PATH环境变量,使其包含c:\j2sdk1.4.2_04\bin路径。
  b   更新CLASSPATH环境变量
         为了使系统能找到用户定义的类,需要将用户类所在的目录(通常是当前目录即把 . 加入到    classpath中)放入CLASSPATH变量中。具体更改方法同PATH修改过程,只是要找到 CLASSPATH环境           变量进行修改。
       jdk Win2000下的环境变量设置:


在“我的电脑”的属性的高级选项当中有一个环境变量设置。
1)在系统环境变量PATH参数后面加上bin的访问路径。例如如果是直接安装在c盘下面的话就在PATH参数后面加入c:\j2sdk1.4.2_04\bin。加入后的结果一般为:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\j2sdk1.4.2_04\bin。
2)新建一个系统环境变量CLASSPATH,将其值赋为:.;c:\j2sdk1.4.2_04\lib\tools.jar;c:\j2sdk1.4.2_04lib\dt.jar;c:\j2sdk1.4.2_04\jre\lib\dt.jar;d:\JavaProgramming\
其中d:\JavaProgramming\是Java源程序的存放目录。
注意:在使用java命令的时候后面跟随的源程序的名字中的大小写应该完全与源程序名字中的相同,也就是说Java命令是不忽略大小写的。另外,在Java命令后面的程序名不要带上.class!

c    确认系统安装
          在DOS提示符下,输入set命令可以查看PATH和CLASSPATH的设置是否成功 ( 如果是98者需运行        AUTOEXEC.BAT才能使修改的设置生效 如果是2000需把dos关闭重新运行 )


2 然后运行你的第一个java程序
   写个类保存为.java文件  一定记得如果是用记事本编辑器的话 保存时要选择保存类型为所有类型然后文件名字和你的类名字要一模一样  或者也可以把类名.java加上引号就可以避免保存为.java.txt的类型了

3 常见错误处理
  如果运行javac命令时出现can not read xxx.java 首先看看你的文件是否保存为.java.txt的类型了(右点文件看属性里的扩张名)  重新保存 记得此时要把文件名.java加上引号保存.若运行java命令时提示exception in thread  "main" java.lang.NoClassDefFoundErroe:的异常,说明你的classpath里没有加入。
 楼主| 发表于 2004-5-23 17:10:51 | 显示全部楼层
linux下安装配置方法:
到java.sun.com下载:j2sdk-1_4_2_04-linux-i586.bin.
保存到/mnt/下,然后su切换到root用户,
cd /usr/local/
chmod +x j2sdk-1_4_2_04-linux-i586.bin
然后按照提示,一路空格或是输入accept或者回车之后,安装完成。
然后
cd /usr/local/
ln -s  j2sdk1.4.2_04 java

cat >>/etc/profile
输入或者粘贴以下内容:
JAVA_HOME=/usr/local/java/
CLASSPATH=.:/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools/jar
PATH=/usr/local/java/binPATH
export PATH JAVA_HOME CLASSPATH
按ctrl+d保存退出。然后运行
source /etc/profile
发表于 2004-5-23 20:28:24 | 显示全部楼层

java编译问题

[root@camel bin]# javac ex.java
Error:failed /usr/java/j2sdk1.4.0/jre/lib/i386/client/libjvm.so, because libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory
这是什么意思?
安装的是j2sdk-1_4_0-fcs-linux-i386.rpm
环境变量设置过了。我用的是fc1,kernel 2.4.22-1.2115.nptl
发表于 2004-5-23 20:29:35 | 显示全部楼层

装了compat-libstdc++*后

[root@camel bin]# javac Ex.java
Error occurred during initialization of VM
Unable to load native library: /usr/java/j2sdk1.4.0/jre/lib/i386/libjava.so: symbol __libc_waitpid, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

这又是什么意思?
发表于 2004-5-23 20:46:42 | 显示全部楼层
把/usr/java/j2sdk1.4.0/jre/lib/i386/
加到CLASSPATH里去
发表于 2004-5-23 21:23:54 | 显示全部楼层

还是这个问题啊。

[root@camel bin]# CLASSPATH=$CLASSPATH:/usr/java/j2sdk1.4.0/jre/lib/i386/
[root@camel bin]# export CLASSPATH
[root@camel bin]# echo $CLASSPATH
:/usr/java/j2sdk1.4.0/jre/lib/i386/
[root@camel bin]# javac Ex.java
Error occurred during initialization of VM
Unable to load native library: /usr/java/j2sdk1.4.0/jre/lib/i386/libjava.so: symbol __libc_waitpid, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
[root@camel bin]#
 楼主| 发表于 2004-5-24 08:01:33 | 显示全部楼层
是不是编译所有的java代码都提示如上错误?

看样子应该是系统缺少库文件。
用locate 命令找找,看那些文件都有没有,如果没有就去rpmfind.net或者debian.org找回来装上。
发表于 2004-5-24 13:52:04 | 显示全部楼层
看看我的

# echo $CLASSPATH
/usr/java/j2sdk1.4.2_04/lib/:/usr/java/j2sdk1.4.2_04/jre/lib/i386
# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/java/j2sdk1.4.2_04/bin:/root/bin
发表于 2004-5-24 15:12:36 | 显示全部楼层

locate怎么用啊?

刚刚接触linux,想装个java,结果问题一个接一个。头都大了。好在sir终于有了个java的讨论区。就要麻烦个位大gg,大mm了。呵呵
我的环境变量。glibc是2.3的
[root@camel root]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/usr/java/j2sdk1.4.0/bin
[root@camel root]# echo $CLASSPATH
/usr/java/j2sdk1.4.0/lib:/usr/java/j2sdk1.4.0/jre/lib/i386
呵呵。这里帖子数我多,都不好意思了。
 楼主| 发表于 2004-5-24 18:39:28 | 显示全部楼层
locate 可以快速查找一个文件,见下例:

[root@mirrorserver /root]# locate libstdc++-libc6.1
/usr/lib/libstdc++-libc6.1-1.so.2
[root@mirrorserver /root]#
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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