好的,现在我已经花了足够的时间在我的 Ubuntu 12.04 操作系统上正确配置 Tomcat,而且我已经受够了,因为现在已经是凌晨 2 点了。
首先我按照这个问题的描述安装了 tomcat7 -应如何安装 Apache Tomcat 7 以便与 Eclipse 一起使用?。
然后我想按照链接问题的答案中所述安装一个私有的 tomcat 实例。因此,我tomcat7
使用此问题中描述的过程进行了卸载 -https://askubuntu.com/q/313070/159439
现在,我使用以下命令安装了一个私有实例:
sudo apt-get install tomcat7-user
sudo tomcat7-instance-create ~/my-tomcat-instance
现在,当我启动 tomcat 时,它没有启动。由于它没有作为服务安装,所以我当然无法将其作为服务启动。但是,我甚至无法使用该startup.sh
文件启动它。我收到以下错误:
/usr/share/tomcat7$ bin/startup.sh
Using CATALINA_BASE: /usr/share/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
touch: cannot touch `/usr/share/tomcat7/logs/catalina.out': No such file or directory
bin/catalina.sh: 389: bin/catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent
现在这里的问题是什么。我知道之前 tomcat 没有启动,因为它是作为服务安装的。所以,我必须使用 -service tomcat7 start
来启动它。但现在,它没有作为服务安装。那么,我该如何启动它呢?
我在 eclipse 中配置新安装的 tomcat 时遇到了另一个问题。它显示了与此问题相同的错误 -Tomcat 7 与 Eclipse 集成出现错误当我添加服务器时。我正在使用 Eclipse Juno。通过下载文件来安装它.tar.gz
。
请帮我离开这里。我已经被困了 5 个小时了。
答案1
从命令行
要从命令行运行 Tomcat 的私有实例,您需要运行startup.sh
私有实例目录中的脚本,而不是 中的脚本/usr/share/tomcat7
。因此,对于您的情况,您需要运行:
~/my-tomcat-instance/bin/startup.sh
这应该是开箱即用的。
从 Eclipse
~/my-tomcat-instance/
要从 Eclipse 运行,您还应该使用目录而不是来创建服务器运行时环境/usr/share/tomcat7/
。
然而,实现这个功能比想象的要困难得多。部分原因是 Eclipse 存在一些错误,部分原因是 Eclipse 无法区分CATALINA_BASE
和CATALINA_HOME
。
缺少文件
事实证明,该tomcat7-instance-create
脚本并未设置 Eclipse 所需的一切。这被报告为漏洞Tomcat 6 似乎已修复此问题,但不知何故补丁未包含在软件包中tomcat7-user
。我提出了一个新的漏洞希望这个问题能够得到解决,但与此同时,您需要运行以下命令:
ln -s /usr/share/tomcat7/lib ~/my-tomcat-instance/lib
ln -s /usr/share/tomcat7/bin/bootstrap.jar ~/my-tomcat-instance/bin/bootstrap.jar
然后,您需要获取一份catalina.policy
未作为软件包分发的副本tomcat7-user
,并将其放在conf/
实例的目录中。您可以从代码存储库对于tomcat7
包:
curl http://bazaar.launchpad.net/\~ubuntu-branches/ubuntu/precise/tomcat7/precise/view/head:/conf/catalina.policy > ~/my-test-tomcat7-instance/conf/catalina.policy
新的服务器错误
在测试这个的同时,我还遇到了另一个错误,我通过删除这些文件解决了它:
{workspace-directory}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.server.core.prefs
{workspace-directory}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.server.tomcat.core.prefs
按照接受的答案Eclipse 添加 Tomcat 7 空白服务器名称。显然,只有在需要时才执行这一步。
也可以看看Eclipse 4.2(Juno)Tomcat 7 中“无法使用选定类型创建服务器”使用该包来实现这个功能tomcat7
。