【问题标题】:Deploying Appfuse Spring MVC project to Tomcat direcly from STS - ERROR使用 Spring MVC 项目直接从 STS 将应用程序部署到 Tomcat - 错误
【发布时间】:2014-02-26 05:52:26
【问题描述】:

我正在尝试使用 STS 将我的项目部署到 Tomcat。我的项目正在构建(安装)正常。但是当我尝试运行 tomcat:run 时它不起作用。

我收到此错误。

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com:endovantage-web:war:0.0.1-SNAPSHOT
[WARNING] 'dependencies.dependency.exclusions.exclusion.artifactId' for org.springmodules:spring-modules-validation:jar with value '*' does not match a valid id pattern. @ line 214, column 33
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] AppFuse Modular Application
[INFO] AppFuse Modular Application - Core
[INFO] AppFuse Modular Application - Web (Spring MVC)
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building AppFuse Modular Application 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> tomcat-maven-plugin:1.1:run (default-cli) @ endovantage >>>
[INFO] 
[INFO] <<< tomcat-maven-plugin:1.1:run (default-cli) @ endovantage <<<
[INFO] 
[INFO] --- tomcat-maven-plugin:1.1:run (default-cli) @ endovantage ---
[INFO] Skipping non-war project
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building AppFuse Modular Application - Core 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> tomcat-maven-plugin:1.1:run (default-cli) @ endovantage-core >>>
[WARNING] The POM for org.aspectj:aspectjweaver:jar:1.8.0.M1 is missing, no dependency information available
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ endovantage-core ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 6 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ endovantage-core ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 3 source files to C:\Development\Dev\endovantage\core\target\classes
[INFO] 
[INFO] <<< tomcat-maven-plugin:1.1:run (default-cli) @ endovantage-core <<<
[INFO] 
[INFO] --- tomcat-maven-plugin:1.1:run (default-cli) @ endovantage-core ---
[INFO] Skipping non-war project
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building AppFuse Modular Application - Web (Spring MVC) 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> tomcat-maven-plugin:1.1:run (default-cli) @ endovantage-web >>>
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ endovantage-web ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 44 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ endovantage-web ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] <<< tomcat-maven-plugin:1.1:run (default-cli) @ endovantage-web <<<
[INFO] 
[INFO] --- tomcat-maven-plugin:1.1:run (default-cli) @ endovantage-web ---
[INFO] Running war on http://localhost:8080/endovantage-web
[INFO] Creating Tomcat server configuration at C:\Development\Dev\endovantage\web\target\tomcat
Feb 26, 2014 10:50:40 AM org.apache.catalina.startup.Embedded start
INFO: Starting tomcat server
Feb 26, 2014 10:50:41 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.29
Feb 26, 2014 10:50:42 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com.webapp.listener.StartupListener
java.lang.ClassNotFoundException: com.webapp.listener.StartupListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4078)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
    at org.apache.catalina.startup.Embedded.start(Embedded.java:825)
    at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558)
    at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

Feb 26, 2014 10:50:42 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com.webapp.listener.UserCounterListener
java.lang.ClassNotFoundException: com.webapp.listener.UserCounterListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4078)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
    at org.apache.catalina.startup.Embedded.start(Embedded.java:825)
    at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558)
    at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

Feb 26, 2014 10:50:42 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com.webapp.jsp.EscapeXmlELResolverListener
java.lang.ClassNotFoundException: com.webapp.jsp.EscapeXmlELResolverListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4078)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
    at org.apache.catalina.startup.Embedded.start(Embedded.java:825)
    at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558)
    at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

Feb 26, 2014 10:50:42 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
Feb 26, 2014 10:50:42 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Feb 26, 2014 10:50:42 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/endovantage-web] startup failed due to previous errors
Feb 26, 2014 10:50:42 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/endovantage-web] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Feb 26, 2014 10:50:42 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/endovantage-web] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] AppFuse Modular Application ....................... SUCCESS [0.703s]
[INFO] AppFuse Modular Application - Core ................ SUCCESS [3.460s]
[INFO] AppFuse Modular Application - Web (Spring MVC) .... FAILURE [3.038s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.220s
[INFO] Finished at: Wed Feb 26 10:50:42 IST 2014
[INFO] Final Memory: 32M/309M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:run (default-cli) on project endovantage-web: Could not start Tomcat: Protocol handler initialization failed: java.net.BindException: Address already in use: JVM_Bind <null>:8080 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :endovantage-web

我正在使用 maven tomcat 插件运行该项目。我在父 pom 中添加了插件以及下面的内容。

           <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <version>1.1</version>
                <configuration>
                <path>${contextpath-name}</path>
                </configuration>
        </plugin>

我已将 Maven 构建配置为,

  • 全新安装 -DskipTests
  • tomcat:运行

我第一次安装(效果很好) 但是当我运行 tomcat:run 时会出现上述错误。我试图手动部署war文件。但这也行不通。有人可以帮我解决这个问题吗?

编辑:

我尝试手动运行它。我发现端口 8080 已经在使用中。所以我更改了端口,现在我收到了这个错误。

    Feb 26, 2014 11:36:43 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart

Error listenerStart 现在消失了。感谢马特。我收到另一个错误

我针对收到的错误创建了另一个问题here

【问题讨论】:

    标签: deployment maven-3 tomcat6 appfuse


    【解决方案1】:

    您需要在核心项目上运行“mvn install”,然后从 web 目录运行“jetty:run”(或“tomcat7:run”)。我推荐最新版本的Tomcat插件:

    http://tomcat.apache.org/maven-plugin-2.0/tomcat7-maven-plugin/

    【讨论】:

    • +1 这是非常重要的事情,我不知道。非常感谢。我使用 appfuse 快速入门中提供的脚本生成器创建了一个模块化 spring mvc 项目。我在根文件夹中运行 mvn eclipse:eclipse 然后在核心上运行 mvn install (构建成功)并在 web 文件夹上运行 mvn tomcat7:run (构建失败)。最初是由于 tomcat7-maven-plugin 不可用。我将它添加到 web 中的 pom.xml 中。再次遵循相同的程序。然后再次出现另一个错误。请查看编辑并感谢您的帮助。
    • 我想我明白了你想说的话。我想你的意思是我的核心是根目录。因为只有当我在根目录上运行 mvn install 然后在 web 文件夹上运行 mvn jetty:run 时它才能工作。还是我错了?
    • 您可能需要从根目录运行“mvn install -N”,但这不是必需的。要执行“jetty:run”,您只需要在本地存储库中安装核心 JAR。
    猜你喜欢
    • 1970-01-01
    • 2013-10-04
    • 2012-11-11
    • 2016-01-16
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多