使用Authbind在Ubuntu的端口80中从Eclipse启动Tomcat

时间:2012-03-02 12:07:23

标签: linux eclipse tomcat

我已经安装了Authbind以在Ubuntu的端口80上运行Tomcat。

我已经跟随http://netthink.com/?p=362在端口80中在Ubuntu中运行Tomcat。 当我通过键入./start.sh在命令行上运行Tomcat时,Tomcat正常在端口80上启动而没有任何异常。

为了从Eclipse运行Tomcat,我从http://www.eclipsetotale.com/tomcatPlugin.html安装了Tomcat插件。除了当我想从Eclipse启动Tomcat时,一切都很好。当我通过Tomcat插件从Eclipse运行Tomcat时,我得到以下异常:

  

java.net.BindException:权限被拒绝:80

如果我在Eclipse的“服务器视图”中添加Tomcat作为服务器并想从服务器视图启动它,我会得到以下异常:

  

Tomcat v6.0 Server在localhost上所需的端口80已在使用中

但我确信没有任何进程获取端口80,因为在我通过键入./start.sh在命令行上运行Tomcat的同时,Tomcat通常在端口80上启动。

如何在端口80上从Eclipse运行Tomcat?

对于Tomcat使用80以外的其他端口且小于1024,并在Eclipse的Server View中启动它给了我同样的例外。例如,对于端口82:

  

本地主机上的Tomcat v6.0服务器所需的端口82已在使用中

3 个答案:

答案 0 :(得分:0)

你说:

  

但我确信没有任何进程获取端口   80,因为在同一时间我在命令行中运行Tomcat   输入./start.sh,tomcat正常在端口80中启动。

在使用Eclipse启动Tomcat之前,您是否在命令行中停止了它?

要确保您的Tomcat已停止,请输入:

ps -ef|grep tomcat

如果停止Tomcat,你应该有这样的东西:

user 16428 16373  0 13:56 pts/1    00:00:00 grep --color=auto tomcat

答案 1 :(得分:0)

尝试以root身份运行eclipse,然后启动tomcat(在端口80上)..应该可以工作。虽然不是最佳解决方案。但是应该工作,因为80是linux中的特权端口,需要sudo权限才能运行。

答案 2 :(得分:0)

您应该使用以下方式启动eclipse:
authbind --deep eclipse由于eclipse不会通过 startup.sh 文件启动tomcat,因此插入authbind将无效。