Tomcat 7 on Debian Jessie for Eclipse Kepler配置
Debian系统tomcat 7官方安装包配置eclipse调式服务器。
Eclipse开发Dynamic Web Project需要添加一个web服务器来调式应用。有很多servlet容器可选,这里使用的是Tomcat 7。
Tomcat多实例配置
Eclipse配置tomcat服务器时,默认是创建了一个新的运行实例。也可以使用系统tomcat实例,或者自定义一个新的实例。
详见tomcat多实例配置。
Eclipse配置tomcat7服务器
准备工作
由于Debian按FHS文件系统标准对tomcat包的拆分,虽然默认只有一个实例,$CATALINA_BASE和$CATALINA_HOME指向了不同的路径。为了应对Eclipse,需要做几个符号链接,让$CATALINA_HOME看起来像一个完整的tomcat实例。
1 | $ cd /usr/share/tomcat7 |
否则配置服务器时Eclipse会提示错误:
Could not load the Tomcat server configuration at /usr/share/tomcat7/conf. The configuration may be corrupt or incomplete.
/usr/share/tomcat7/conf/catalina.policy (No such file or directory)
还要将运行Eclipse的当前用户加入到tomcat7用户组,然后注销重新登录。
adduser ${your_username} tomcat7
$ logout
因为配置服务器时Eclipse要读取tomcat-users.xml文件,否则会有错误提示:
Could not load the Tomcat server configuration at /usr/share/tomcat7/conf. The configuration may be corrupt or incomplete.
/usr/share/tomcat7/conf/tomcat-users.xml (Permission denied)
配置调式服务器
打开eclipse,Window -> Preference -> Server -> Runtime Environments -> Add 选择Apache Tomcat 7.0 Server,
选择下一步,Tomcat installation directory输入/usr/share/tomcat7,JRE选择java-7-openjdk-amd64,最后finish。
如果Add服务器这个环节,Server name字段为空,且无法输入,也无法点击下一步,可以这样解决:
- 关闭eclipse
- {workspace-directory}/.metadata/.plugins/org.eclipse.core.runtime/.settings目录下,删除这个两个文件
org.eclipse.wst.server.core.prefs
org.eclipse.jst.server.tomcat.core.prefs
关闭Eclipse,进入workspace工作目录下配置好的服务器的配置目录
$ cd ~/workspace/Servers/Tomcat v7.0 Server at localhost-config
修改server.xml,将其控制端口改为8006,只要不与其他运行实例冲突即可。否则会出现错误提示:
Several ports (8005, 80) required by Tomcat v7.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
[xml]
[/xml]
将连接端口更改为8080或其他高于1024的端口号:
[xml]
[/xml]
Eclipse貌似不能使用Authbind,所以即使没有进程占用80端口,也无法启动调试服务器,1024以上的端口则没问题。
这样Eclipse就可以使用tomcat7作为调试服务器正常运行了。
update(01/15/2016):服务器配置目录
服务器的配置文件在~/workspace/.metadata/.plugins/org.eclipse.wst.server.core目录下,删除服务器时,如果没有其他服务器时,可以同时将此目录删除,这样不会有残留。
目录下的server.xml文件中可以修改启动超时时间start-timeout。
而tomcat的配置文件在~/workspace/Servers/Tomcat v8.0 Server at localhost-config目录下,与单独启动的tomcat配置一样。
参考: