【问题标题】:Deployment of my application in existing tomcat在现有 tomcat 中部署我的应用程序
【发布时间】:2015-08-25 06:56:51
【问题描述】:

我想将我的 Web 应用程序部署在一个真正的 TOMCAT 6 服务器中,该服务器 使用其他应用程序。 问题是,当我将 WAR 文件放入 webbApps 时,日志文件中出现错误,并且出现错误 404:

java.lang.UnsupportedClassVersionError: metier/utilisateurs/Compte :        Unsupported  major.minor version 51.0 (unable to load class metier.utilisateurs.  Compte)   at org.apache.catalina.loader. WebappClassLoader.findClassInternal(   WebappClassLoader.java:2822)...

我google了一下,发现没有兼容的JDK和JSP的编译器。

我的问题是:我可以将我的应用程序部署在不同的 tomcat (7) 服务器上并在同一服务器上使用 2 个 tomcat 吗?我试过了,但是当我启动新的 tomcat(tomcat7/bin/startup)时,服务器会自动启动旧的 tomcat!

【问题讨论】:

  • 问题是 tomcat 使用的 JRE 比用于编译您的应用程序的 JRE(比如 1.7)更旧(比如 1.6)
  • 另外,请添加一些有关您的操作系统以及如何安装第一个 Tomcat 的信息。
  • 是的,我认为是问题所在,我能做些什么来解决问题,我不会在服务器中安装其他 JRE,因为还有其他应用程序在使用它,所以使用旧 JRE 开发的应用程序也可以与新的一起工作?
  • @Adrian - 操作系统是:服务器 2008,我在“programe Files/Apache SOftware FOundation / tomacate 6.0”中找到了 tomcat
  • Tomcat 使用的 JRE 的确切版本是什么,用于编译应用程序的版本是什么?

标签: java jsp tomcat windows-server-2008 jdk1.6


【解决方案1】:

您使用 Java 7 编译了您的战争,并尝试在带有 Java 6 的 Tomcat 6 中运行它。将您的 Tomcat 6 配置为指向 java 7 安装,它应该也可以在那里工作。

另外,可以在同一台机器上运行两个 Tomcat,但在不同的端口上。如果你这样做,你应该在前面使用负载均衡器或代理来分发请求。但是,在同一台机器上使用两个不同版本的容器来运行同一个应用程序有点不寻常。

关于启动一个Tomcat实际上启动另一个的事实,这可能是由于您没有将它配置为CATALINA_HOME,它只是检查Tomcat的通常位置并找到另一个。

请参阅:https://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt - 高级配置 - 多个 Tomcat 实例

【讨论】:

  • 谢谢,应该可以,我会试试你的建议:)
  • 它终于可以工作了,我指向 JDK7,但问题是我只能看到主页,而我的链接(控制器)不起作用:/我应该添加其他东西吗?
  • 特定于您的应用程序。它们要么是硬编码的,并且期望在某个 url/端口上被访问,要么你仍然看到另一个 tomcat。
猜你喜欢
  • 2015-11-03
  • 2011-08-11
  • 2018-11-21
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-22
相关资源
最近更新 更多