【问题标题】:Tomcat Manager Deploying WAR file located on serverTomcat 管理器部署位于服务器上的 WAR 文件
【发布时间】:2013-09-08 03:45:03
【问题描述】:

我有一个安装了 CentOS 和 Tomcat6 的 linux 服务器。我正在尝试部署我的 jsf 应用程序,并为我的项目创建了一个 war 文件。我正在使用 部署目录或位于服务器上的 WAR 文件 使用 Tomcat 管理器,参数如下

我的 war 文件按照建议位于 wepapps 目录中。比我将 Context Path 提供给我的应用程序名称,例如 /myapp 并提供 WAR 或目录 URL 我的应用程序的 url,就像/var/lib/tomcat6/webapps/myapp.war 最后我将 XML 配置 的值留空。当我按下部署按钮时,消息说 Failed to deploy application at context path /myapp

因为这是我在服务器上部署应用程序的第一次体验,我不确定我是否做得对。我已经搜索了很多文档,但仍然找不到有用的解释来启动我的应用程序。 我真的很困惑,需要你的帮助吗?

这是我的 catalina 日志文件

 Sep 5, 2013 1:38:37 p.m. org.apache.tomcat.util.digester.Digester startElement
    SEVERE: Begin event threw error
    java.lang.NoClassDefFoundError: org.apache.tomcat.util.modeler.ManagedBean
       at java.lang.Class.initializeClass(libgcj.so.10)
       at java.lang.Class.newInstance(libgcj.so.10)
       at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:145)
       at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276)
       at gnu.xml.stream.SAXParser.parse(libgcj.so.10)
       at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1556)
       at org.apache.tomcat.util.modeler.modules.MbeansDescriptorsDigesterSource.execute(MbeansDescriptorsDigesterSource.java:238)
       at org.apache.tomcat.util.modeler.modules.MbeansDescriptorsDigesterSource.loadDescriptors(MbeansDescriptorsDigesterSource.java:216)
       at org.apache.tomcat.util.modeler.Registry.load(Registry.java:689)
       at org.apache.tomcat.util.modeler.Registry.loadDescriptors(Registry.java:800)
       at org.apache.tomcat.util.modeler.Registry.loadDescriptors(Registry.java:780)
       at org.apache.catalina.mbeans.MBeanUtils.createRegistry(MBeanUtils.java:1066)
       at org.apache.catalina.mbeans.MBeanUtils.<clinit>(MBeanUtils.java:95)
       at java.lang.Class.initializeClass(libgcj.so.10)
       at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.<clinit>(GlobalResourcesLifecycleListener.java:68)
       at java.lang.Class.initializeClass(libgcj.so.10)
       at java.lang.Class.newInstance(libgcj.so.10)
       at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:145)
       at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276)
       at gnu.xml.stream.SAXParser.parse(libgcj.so.10)
       at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)
       at org.apache.catalina.startup.Catalina.load(Catalina.java:617)
       at org.apache.catalina.startup.Catalina.load(Catalina.java:665)
       at java.lang.reflect.Method.invoke(libgcj.so.10)
       at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
       Sep 5, 2013 1:47:15 p.m. org.apache.tomcat.util.digester.Digester startElement
SEVERE: Begin event threw error
java.lang.NoClassDefFoundError: org.apache.tomcat.util.modeler.ManagedBean
   at java.lang.Class.initializeClass(libgcj.so.10)
   at java.lang.Class.newInstance(libgcj.so.10)
   at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:145)
   at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276)
   at gnu.xml.stream.SAXParser.parse(libgcj.so.10)
   at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1556)
   at org.apache.tomcat.util.modeler.modules.MbeansDescriptorsDigesterSource.execute(MbeansDescriptorsDigesterSource.java:238)
   at org.apache.tomcat.util.modeler.modules.MbeansDescriptorsDigesterSource.loadDescriptors(MbeansDescriptorsDigesterSource.java:216)
   at org.apache.tomcat.util.modeler.Registry.load(Registry.java:689)
   at org.apache.tomcat.util.modeler.Registry.loadDescriptors(Registry.java:800)
   at org.apache.tomcat.util.modeler.Registry.loadDescriptors(Registry.java:780)
   at org.apache.catalina.mbeans.MBeanUtils.createRegistry(MBeanUtils.java:1066)
   at org.apache.catalina.mbeans.MBeanUtils.<clinit>(MBeanUtils.java:95)
   at java.lang.Class.initializeClass(libgcj.so.10)
   at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.<clinit>(GlobalResourcesLifecycleListener.java:68)
   at java.lang.Class.initializeClass(libgcj.so.10)
   at java.lang.Class.newInstance(libgcj.so.10)
   at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:145)
   at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276)
   at gnu.xml.stream.SAXParser.parse(libgcj.so.10)
   at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)
   at org.apache.catalina.startup.Catalina.load(Catalina.java:617)
   at org.apache.catalina.startup.Catalina.load(Catalina.java:665)
   at java.lang.reflect.Method.invoke(libgcj.so.10)
   at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: java.lang.ClassNotFoundException: javax.management.modelmbean.ModelMBeanNotificationBroadcaster not found in org.apache.catalina.loader.StandardClassLoader{urls=[file:/usr/share/apache-tomcat-7.0.42/lib/,file:/usr/share/apache-tomcat-7.0.42/lib/catalina-tribes.jar,file:/usr/share/apache-tomcat-7.0.42/lib/tomcat-coyote.jar,file:/usr/share/apache-tomcat-7.0.42/lib/tomcat-dbcp.jar,file:/usr/share/apache-tomcat-7.0.42/lib/tomcat-util.jar,file:/usr/share/apache-tomcat-7.0.42/lib/tomcat-jdbc.jar,file:/usr/share/apache-tomcat-7.0.42/lib/tomcat-i18n-ja.jar,file:/usr/share/apache-tomcat-7.0.42/lib/tomcat-i18n-fr.jar,file:/usr/share/apache-tomcat-7.0.42/lib/tomcat-api.jar,file:/usr/share/apache-tomcat-7.0.42/lib/ecj-4.2.2.jar,file:/usr/share/apache-tomcat-7.0.42/lib/catalina-ha.jar,file:/usr/share/apache-tomcat-7.0.42/lib/catalina-ant.jar,file:/usr/share/apache-tomcat-7.0.42/lib/jsp-api.jar,file:/usr/share/apache-tomcat-7.0.42/lib/jasper.jar,file:/usr/share/apache-tomcat-7.0.42/lib/catalina.jar,file:/usr/share/apache-tomcat-7.0.42/lib/tomcat-i18n-es.jar,file:/usr/share/apache-tomcat-7.0.42/lib/annotations-api.jar,file:/usr/share/apache-tomcat-7.0.42/lib/el-api.jar,file:/usr/share/apache-tomcat-7.0.42/lib/jasper-el.jar,file:/usr/share/apache-tomcat-7.0.42/lib/servlet-api.jar], parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:/usr/share/apache-tomcat-7.0.42/bin/bootstrap.jar,file:/usr/share/apache-tomcat-7.0.42/bin/tomcat-juli.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}}
   at java.net.URLClassLoader.findClass(libgcj.so.10)
   at java.lang.ClassLoader.loadClass(libgcj.so.10)
   at java.lang.ClassLoader.loadClass(libgcj.so.10)
   at java.lang.VMClassLoader.defineClass(libgcj.so.10)
   at java.lang.ClassLoader.defineClass(libgcj.so.10)
   at java.security.SecureClassLoader.defineClass(libgcj.so.10)
   at java.net.URLClassLoader.findClass(libgcj.so.10)
   at java.lang.ClassLoader.loadClass(libgcj.so.10)
   at java.lang.ClassLoader.loadClass(libgcj.so.10)
   at java.lang.Class.forName(libgcj.so.10)
   at java.lang.Class.initializeClass(libgcj.so.10)
   ...25 more

感谢和问候

【问题讨论】:

  • &lt;tomcat&gt;/webapps 中的应用程序(.war 档案)默认自动部署(将myapp.war 复制到该目录就足够了)。检查&lt;tomcat&gt;/logs/catalina.out 以获取更多线索。
  • 感谢您的回答。我会检查 catalina.out 文件,如果我找到解决方案会通知你..
  • 我已经按照您的建议检查了 catalina.out 文件,但其中存在大量错误。我对我的帖子进行了编辑并添加了日志文件。如果您能解决问题,我将不胜感激。
  • tomcat-coyote.jar 似乎不在您的 CLASSPATH 中。你究竟是如何启动服务器的?

标签: java tomcat deployment


【解决方案1】:

我终于解决了这个问题。错误的原因其实很简单。我们配置了我们的项目并使用 tomcat7 创建了 war 文件。因此,当我们尝试在具有先前版本的 tomcat (tomcat6) 的服务器上部署和运行时,它不起作用。所以我们在该服务器上安装了 tomcat7,它现在​​可以工作了。可能是因为 tomcat6 不支持 servlet3 和一些 jsf fauters。再次感谢。

【讨论】:

    【解决方案2】:

    好吧,我已经把这个问题解决了

    Step 1:-
    Install JDK 1.7.0
    
    step 2:-
    Just include Jre Directory when you are Making TOMCAT Server 7. just goto Installed Jre and Just select ADD in option in that and GOTO the Location of your JRE and add that Folder that.
    
    Step3:-
    after adding that finish server installation and run your server.
    

    这样就行了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-29
      • 2018-07-25
      • 2015-12-10
      • 2012-08-10
      • 2021-11-07
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多