分页: 1 / 1

一个关于java的奇怪的问题

发表于 : 2009-05-07 16:08
widon1104
我设置了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文件
为什么???

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

发表于 : 2009-05-07 16:23
widon1104
我把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
一次只能添加一个??

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

发表于 : 2009-05-07 16:56
widon1104
我发现了可以添加/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,完成