一个关于java的奇怪的问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
widon1104
帖子: 839
注册时间: 2008-07-17 10:55

一个关于java的奇怪的问题

#1

帖子 widon1104 » 2009-05-07 16:08

我设置了java的环境变量classpath
widon@widon-laptop:~$ sudo gedit /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="en_US:en"
LANG="en_US.UTF-8"
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun

在编译servlet的时候需要额外的servlet.jar这个文件
我把这个servlet.jar放到了/usr/lib/jvm/java-6-sun/lib/ext/里面
可是

javac ExampleServlet.java还是要报错
javac -classpath servlet.jar ExampleServlet.java才能生成class文件
为什么???
头像
widon1104
帖子: 839
注册时间: 2008-07-17 10:55

Re: 一个关于java的奇怪的问题

#2

帖子 widon1104 » 2009-05-07 16:23

我把classpath修改成这样可以了
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib:/home/widon/tomcat6.0/lib/servlet-api.jar
但是这样就不行了。。
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib:/home/widon/tomcat6.0/lib
一次只能添加一个??
头像
widon1104
帖子: 839
注册时间: 2008-07-17 10:55

Re: 一个关于java的奇怪的问题

#3

帖子 widon1104 » 2009-05-07 16:56

我发现了可以添加/lib下所有jar文件的办法了
正则表达式,没看懂。。

在Linux下可以通过这样的方法把/opt/aaa/lib目录下的所有jar文件添加到CLASSPATH
CLASSPATH=$CLASSPATH:`find /home/widon/tomcat6.0/lib -name *.jar|tr '\n' ':'`
而把/opt/aaa/lib他下面的目录以及目录下面的子目录和更下层目录也添加到CLASSPATH里面则通过以下方法
CLASSPATH=$CLASSPATH:` find /home/widon/tomcat6.0/lib -type d|tr '\n' ':'`
OK,完成
回复