尝试在tomcat中部署Maven应用程序

时间:2018-07-27 13:11:54

标签: java spring maven tomcat pom.xml

几天前,我接到了将一个程序员团队(我无法与其联系)部署的应用程序部署到tomcat服务器的任务。

我设法通过sudo mvn tomcat7:deploy来构建应用程序并将其部署到tomcat服务器,除了它说FAIL - Deployed application at context path /jbExtratools but context failed to start

之外,其他一切都还好

我通读了pom.xml,试图了解应用程序的配置方式,我看到一些与百里香和spring有关的依赖关系,所以也许我需要使用它们来进行部署?还是安装其他软件包?如您所见,我现在很失落,我已经尝试了很多不同的方法,但是我无法启动应用程序……这是我第一次使用maven,tomcat等。通常与服务器一起使用,因此这可能是非常愚蠢/简单的事情...

我将发布pom.xml,让我知道是否需要其他文件。

在pom中显示“ IP_OF_SERVER”的地方,我有实际的IP地址。 (可以吗?还是应该说localhost?还是一样)

POM.XML:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>ma.jb.extratools</groupId>
    <artifactId>jbExtratools</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <packaging>war</packaging>
    <name>Extratools</name>

    <properties>

        <!-- Generic properties -->
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <!-- Spring -->
        <spring-framework.version>4.3.3.RELEASE</spring-framework.version>
        <spring.security.version>4.0.0.RELEASE</spring.security.version>
        <spring-data-jpa.version>1.3.0.RELEASE</spring-data-jpa.version>

        <!-- Thymeleaf -->
        <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>

        <!-- Java EE / Java SE dependencies -->
        <jsp.version>2.2</jsp.version>
        <jstl.version>1.2</jstl.version>
        <servlet.version>3.1.0</servlet.version>
        <javax-el.version>2.2</javax-el.version>
        <jaxb-api.version>2.2.7</jaxb-api.version>
        <jaxb-impl.version>2.2.7-b53</jaxb-impl.version>

        <!-- Hibernate / JPA -->
        <hibernate.version>4.1.9.Final</hibernate.version>
        <hibernate-jpa.version>1.0.1.Final</hibernate-jpa.version>

        <!-- Bean validation -->
        <validation.version>1.1.0.Final</validation.version>
        <hibernate-validator.version>5.2.4.Final</hibernate-validator.version>

        <!-- Database access -->
        <commons-dbcp.version>1.4</commons-dbcp.version>
        <ehcache.version>2.6.5</ehcache.version>
        <hsqldb.version>2.2.9</hsqldb.version>

        <!-- AOP -->
        <aspectj.version>1.7.2</aspectj.version>

        <!-- Logging -->
        <logback.version>1.1.8</logback.version>
        <log4j.version>2.6.2</log4j.version>
        <slf4j.version>1.7.21</slf4j.version>


        <!-- Test -->
        <junit.version>4.11</junit.version>
        <hamcrest.version>1.3</hamcrest.version>

        <!-- Dates -->
        <jodatime-hibernate.version>1.3</jodatime-hibernate.version>
        <jodatime-jsptags.version>1.1.1</jodatime-jsptags.version>
        <jodatime.version>2.2</jodatime.version>
        <jadira-usertype-core.version>3.1.0.CR1</jadira-usertype-core.version>


        <!-- Web dependencies -->
        <webjars-bootstrap.version>3.3.7-1</webjars-bootstrap.version>
        <webjars-jquery-ui.version>1.12.1</webjars-jquery-ui.version>
        <webjars-jquery.version>3.1.1</webjars-jquery.version>

        <!-- MYSQL dependencies -->
        <mysql.version>5.1.31</mysql.version>

        <!-- Codec -->
        <codec.version>1.10</codec.version>

        <!-- Jackson JSON Mapper -->
        <jackson.version>1.9.13</jackson.version>

        <jetty.maven.plugin-version>9.3.11.v20160721</jetty.maven.plugin-version>


    </properties>


    <!-- all Maven plugin versions are mentioned in order to guarantee the build 
        reproducibility in the long term -->
    <build>
        <defaultGoal>install</defaultGoal>
        <plugins>
            <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <url>http:/ IP_OF_SERVER :8080/manager/text</url>
                        <server>tomcatserver</server>
                        <path>/jbExtratools</path>
                        <username>manager</username>
                        <password>manager</password>
                    </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <systemProperties>
                                                <JAVA_OPTS>-Xms256m -Xmx512m -XX:MaxPermSize=512m</JAVA_OPTS>
                                        </systemProperties>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>8.1.2.v20120308</version>
                <configuration>
                    <webAppConfig>
                        <contextPath>/jbExtratools</contextPath>
                    </webAppConfig>
                    <scanIntervalSeconds>1</scanIntervalSeconds>
                    <stopKey>stop-jetty</stopKey>
                    <stopPort>9999</stopPort>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-enforcer-plugin</artifactId>
                                        <versionRange>[1.0.0,)</versionRange>
                                        <goals>
                                            <goal>enforce</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[2.4,)</versionRange>
                                        <goals>
                                            <goal>unpack</goal>
                                            <goal>sources</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>


    <profiles>
        <profile>
            <id>build-dist</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>make-assembly-dist</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>attached</goal>
                                </goals>
                                <configuration>
                                    <descriptors>
                                        <descriptor>${basedir}/src/assembly/sources.xml</descriptor>
                                    </descriptors>
                                    <appendAssemblyId>true</appendAssemblyId>
                                    <finalName>${project.groupId}-${project.artifactId}-${project.version}</finalName>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

    </profiles>


</project>

编辑:

检查了catalina.log文件,发现了一些错误。还从pom.xml

中删除了依赖项
27-Jul-2018 13:39:00.031 INFO [http-nio-8080-exec-23] org.apache.catalina.util.LifecycleBase.stop The stop() method was called on component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/jbExtratools]] after stop() h$
27-Jul-2018 13:39:00.565 INFO [http-nio-8080-exec-23] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/jbExtratools]
27-Jul-2018 13:39:42.140 INFO [http-nio-8080-exec-24] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive /opt/tomcat/webapps/jbExtratools.war
27-Jul-2018 13:39:50.505 INFO [http-nio-8080-exec-24] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were $
27-Jul-2018 13:39:50.524 SEVERE [http-nio-8080-exec-24] org.apache.catalina.core.StandardContext.startInternal Error during ServletContainerInitializer processing
 javax.servlet.ServletException: Failed to instantiate WebApplicationInitializer class
        at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:158)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5352)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:755)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:731)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:973)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:501)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1645)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
        at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1461)
        at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:734)
        at org.apache.catalina.manager.ManagerServlet.doPut(ManagerServlet.java:433)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:651)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:604)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1152)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.accessibleConstructor(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
        at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:155)
        ... 44 more

27-Jul-2018 13:39:50.542 SEVERE [http-nio-8080-exec-24] org.apache.catalina.core.StandardContext.startInternal Context [/jbExtratools] startup failed due to previous errors
27-Jul-2018 13:39:50.561 INFO [http-nio-8080-exec-24] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /opt/tomcat/webapps/jbExtratools.war has finished in 8,421 ms

0 个答案:

没有答案