java - 在 Ubuntu 12.10 上使用 Tomcat 7 --- 如何?

标签 java tomcat servlets ubuntu environment-variables

我是 Ubuntu 12.10 的新手,从 Windows 迁移到它。

在 Windows 中,我已将环境变量配置为包含 servlet-api.jarCLASSPATH变量,所以我不必输入 -cp <path to servlet-api.jar>每次我编译。

对于普通的 Java 程序,我设置了 JAVA_HOME使用:
export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-i386" >> ~/.bashrc
解决了这个问题,我需要设置 CLASSPATH但不知道如何。

请帮助解决这个问题!
我还在一些论坛上读到我应该更改 CLASSPATH每次我编译时手动,因为更改 CLASSPATH可能会扰乱其他应用程序。

接下来,我尝试了这个命令来启动Tomcat
service tomcat7 start但我得到一个错误:
You need root privileges to run this script我不知道为什么。帮我解决!

如果在范围内,请告诉我tomcat在Windows中的目录结构与Ubuntu中有何不同。

杂项

我用了sudo apt-get install tomcat7获取 Tomcat 7。

最佳答案

您没有说明您使用的是 Ubuntu Tomcat 软件包还是独立的 Tomcat 安装。

对于独立的 Tomcat,您将使用 bin 目录中的脚本启动和停止它:startup.shshutdown.sh。在这种情况下,Tomcat 将使用在调用时设置的环境变量值。 执行此操作时,您可以在运行这些命令之前设置环境变量。

对于 Ubuntu 作为包分发的 Tomcat 6 或 Tomcat 7 也是如此。 它们将 $CATALINA_HOME 目录(Tomcat 7 发行版应该位于的位置)与 $CATALINA_BASE 目录(特定 Tomcat 实例的所有更改和添加的位置)巧妙地分开应该是。对于tomcat7包,第一个目录是/usr/share/tomcat7,而第二个目录是/var/lib/tomcat7。 你可以在/usr/share/tomcat7/bin中找到startup.shshutdown.sh,当然你可以使用它们。

但是,如果您使用 Ubuntu 提供的 Tomcat,您可能希望像运行任何其他标准系统服务一样运行它,并且软件包支持这一点:例如对于tomcat7,你可以直接使用

sudo service tomcat7 status
sudo service tomcat7 start
sudo service tomcat7 stop
sudo service tomcat7 restart

就像您可以为任何系统服务一样,它使用与其他系统服务相同的机制:

  • shell脚本/etc/init.d/tomcat7用于启动和停止Tomcat 7
  • /etc/default/tomcat7是它的配置文件,允许设置一些参数

使用此方法,您不能通过在 shell 或 /etc/default/tomcat7 中设置它们来指定 Tomcat 使用的额外环境变量;它们不会传递给 Tomcat。

但是,还有第二种设置环境变量的方法:如果您在 shell 脚本 /var/lib/tomcat7/bin/setenv.sh 中设置它们(或者,如果必须,/usr/share/tomcat7/bin/setenv.sh),它们将被拾取并传递给 Tomcat。这种方法总是有效的。

最后,在指定要在启动时加载的其他类或 JAR 时,Tomcat 提供了比仅使用 $CLASSPATH 更好的控制:在其 conf/catalina.properties 中> 配置文件,您可以将 common.loaderserver.loadershared.loader 设置为目录和/或 JAR 文件列表在标准的之外加载。

关于java - 在 Ubuntu 12.10 上使用 Tomcat 7 --- 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15055707/

相关文章:

java - 从模型获取信息到 Servlet 再到 JSP 选项列表

java - 相对于背景图像的跨平台布局

java - 从 Web 服务器异步调用应用程序

java - 在 Tomcat Apache Web 服务器上安装通配符 SSL 证书(由 Comodo 提供)

java - Spring Boot 应用程序不工作

tomcat - 使用 servlet 别名的遗留 servlet 链接

jakarta-ee - 在Tomcat6.0中出现 "The requested resource () is not available."

Java Web App上传和加载图像

java - 我在这段代码中哪里出错了?

java - Tomcat 日志策略