Chinaunix首页 | 论坛 | 博客
  • 博客访问: 443796
  • 博文数量: 55
  • 博客积分: 1867
  • 博客等级: 上尉
  • 技术积分: 587
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-29 01:33
文章分类

全部博文(55)

文章存档

2013年(1)

2012年(2)

2011年(16)

2010年(11)

2009年(5)

2008年(10)

2007年(8)

2006年(2)

分类: BSD

2008-11-01 01:07:01

在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同样以这种方法解决

留此文备忘








阅读(1411) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~