在FreeBSD上建立Tomcat的JSP环境是非常容易的,对于编程测试来说,Tomcat没有必要ports安装,但是需要ports安装Apache Portable Runtime,否则Tomcat运行不起来。
1:安装 Apache Portable Runtime
$ cd /usr/ports/www/tomcat-native
$ sudo make install clean
2:从Apache直接download一个Tomcat 6.x的二进制包。在用户目录某处展开,如~/tomcat6。
3:进入Tomcat的bin目录,执行
$ cd ~/tomcat6/bin
$ ./catalina.sh run
在我的机器上抛出以下错误:
INFO: Starting Coyote HTTP/1.1 on http-8080
Nov 1, 2008 12:13:02 AM org.apache.coyote.ajp.AjpAprProtocol start
INFO: Starting Coyote AJP/1.3 on ajp-8009
Nov 1, 2008 12:13:02 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 978 ms
Nov 1, 2008 12:13:02 AM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[8005]:
java.net.BindException: Can't assign requested address
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.(ServerSocket.java:185)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
从Google上得知通常这个问题是由于Tomcat的代码在支持IPv6上有问题,需要设置Java虚拟机只使用IPv4。就是对JVM加以下-D参数,
-Djava.net.preferIPv4Stack="true"
-Djava.net.preferIPv4Address="true"
4:编辑catalina.sh添加以上两个参数,再启动,问题解决。
其实以上问题,Java的RMI程序在FreeBSD上也会遇到,也可以同样处理
5:对于Eclipse,可以在Eclipse的目录的eclipse.ini里添加以上两个参数解决网络方面的问题。
6:对于Netbeans,可以在启动Netbeans时添加以上两个参数,比如,在我的系统中
$netbeans -J-Djava.net.preferIPv4Stack=true -J-Djava.net.preferIPv4Address=true
7:对于JBoss同样以这种方法解决
留此文备忘
阅读(1755) | 评论(0) | 转发(0) |