java - 无法部署我的 Web 应用程序(Spring MVC、Tomcat 服务器、Maven、IntelliJ)

标签 java spring maven tomcat intellij-idea

我正在开发一个Spring MVC+Security+MySQL项目。我现在必须使用的 IDE 是 IntelliJ IDEA。

问题是我不知道如何配置我的应用程序在 Tomcat 服务器上的部署。

现在我上传一些(我希望)有用的信息来解决我的问题。

Spring应用上下文配置:

Spring Application context configuration:

项目结构:

Project structure

Tomcat 服务器配置:

enter image description here

Tomcat 服务器部署:

enter image description here

服务器启动时得到的结果:

enter image description here

服务器启动后启动的URL:

enter image description here

项目 Artifact :

enter image description here

POM-xml:

<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<!-- $Id: pom.xml 642118 2008-03-28 08:04:16Z reinhard $ -->
<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/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <packaging>war</packaging>

  <name>progetto</name>
  <groupId>it.polito.ai.ifttt</groupId>
  <artifactId>progetto</artifactId>
  <version>1.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
        <version>6.1.7</version>
        <configuration>
          <connectors>
            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
              <port>8888</port>
              <maxIdleTime>30000</maxIdleTime>
            </connector>
          </connectors>
          <webAppSourceDirectory>${project.build.directory}/${pom.artifactId}-${pom.version}</webAppSourceDirectory>
          <contextPath>/</contextPath>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.2.6.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>5.1.0.Final</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.2.6.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.6</version>
    </dependency>
    <!--
     <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId>
                <version>1.10.1.RELEASE</version> </dependency> <dependency> <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId> <version>5.1.0.Final</version>
                </dependency>
    -->
    <!--
     http://mvnrepository.com/artifact/org.springframework.security/spring-security-web
    -->
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-web</artifactId>
      <version>4.1.0.RELEASE</version>
    </dependency>
    <!--
     http://mvnrepository.com/artifact/org.springframework.security/spring-security-taglibs
    -->
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-taglibs</artifactId>
      <version>4.1.0.RELEASE</version>
    </dependency>
    <!--
     http://mvnrepository.com/artifact/org.springframework.security/spring-security-config
    -->
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-config</artifactId>
      <version>4.1.0.RELEASE</version>
    </dependency>
    <!--  http://mvnrepository.com/artifact/javax.mail/mail  -->
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4</version>
    </dependency>
    <!--
     https://mvnrepository.com/artifact/com.google.api-client/google-api-client
    -->
    <dependency>
      <groupId>com.google.api-client</groupId>
      <artifactId>google-api-client</artifactId>
      <version>1.22.0</version>
    </dependency>
    <!--
     https://mvnrepository.com/artifact/com.google.apis/google-api-services-oauth2
                <dependency> <groupId>com.google.apis</groupId> <artifactId>google-api-services-oauth2</artifactId>
                <version>v2-rev114-1.22.0</version> </dependency>
    -->
    <!--
     https://mvnrepository.com/artifact/com.google.apis/google-api-services-calendar
    -->
    <dependency>
      <groupId>com.google.apis</groupId>
      <artifactId>google-api-services-calendar</artifactId>
      <version>v3-rev196-1.22.0</version>
    </dependency>
    <!--
     https://mvnrepository.com/artifact/com.google.apis/google-api-services-gmail
    -->
    <dependency>
      <groupId>com.google.apis</groupId>
      <artifactId>google-api-services-gmail</artifactId>
      <version>v1-rev45-1.22.0</version>
    </dependency>
    <!--
     <dependency> <groupId>com.github.fedy2</groupId> <artifactId>yahoo-weather-java-api</artifactId>
                <version>2.0.0</version> </dependency>
    -->
    <dependency>
      <groupId>net.aksingh</groupId>
      <artifactId>owm-japis</artifactId>
      <version>2.5.0.3</version>
    </dependency>
    <!--
     https://mvnrepository.com/artifact/org.springframework.social/spring-social-facebook
    -->
    <dependency>
      <groupId>org.springframework.social</groupId>
      <artifactId>spring-social-facebook</artifactId>
      <version>2.0.3.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.social</groupId>
      <artifactId>spring-social-web</artifactId>
      <version>1.1.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.facebook4j</groupId>
      <artifactId>facebook4j-core</artifactId>
      <version>[2.4,)</version>
    </dependency>
    <!--
     https://mvnrepository.com/artifact/org.twitter4j/twitter4j-core
    -->
    <dependency>
      <groupId>org.twitter4j</groupId>
      <artifactId>twitter4j-core</artifactId>
      <version>4.0.4</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.5.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.5.4</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>

</project>

控制台日志:

/Users/kazuhira/Workspace/servers/apache-tomcat-8.0.36/bin/catalina.sh run
[2016-08-15 03:52:45,637] Artifact progetto:war: Server is not connected. Deploy is not available.
15-Aug-2016 15:52:46.661 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.0.36
15-Aug-2016 15:52:46.664 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jun 9 2016 13:55:50 UTC
15-Aug-2016 15:52:46.664 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.0.36.0
15-Aug-2016 15:52:46.664 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Mac OS X
15-Aug-2016 15:52:46.664 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            10.11.6
15-Aug-2016 15:52:46.664 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          x86_64
15-Aug-2016 15:52:46.664 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre
15-Aug-2016 15:52:46.665 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_92-b14
15-Aug-2016 15:52:46.665 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
15-Aug-2016 15:52:46.665 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /Users/kazuhira/Library/Caches/IntelliJIdea2016.2/tomcat/Unnamed_progetto_4
15-Aug-2016 15:52:46.665 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /Users/kazuhira/Workspace/servers/apache-tomcat-8.0.36
15-Aug-2016 15:52:46.666 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/Users/kazuhira/Library/Caches/IntelliJIdea2016.2/tomcat/Unnamed_progetto_4/conf/logging.properties
15-Aug-2016 15:52:46.666 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
15-Aug-2016 15:52:46.667 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=
15-Aug-2016 15:52:46.667 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
15-Aug-2016 15:52:46.667 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
15-Aug-2016 15:52:46.667 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
15-Aug-2016 15:52:46.667 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
15-Aug-2016 15:52:46.668 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
15-Aug-2016 15:52:46.668 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=/Users/kazuhira/Workspace/servers/apache-tomcat-8.0.36/endorsed
15-Aug-2016 15:52:46.668 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/Users/kazuhira/Library/Caches/IntelliJIdea2016.2/tomcat/Unnamed_progetto_4
15-Aug-2016 15:52:46.668 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/Users/kazuhira/Workspace/servers/apache-tomcat-8.0.36
15-Aug-2016 15:52:46.668 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/Users/kazuhira/Workspace/servers/apache-tomcat-8.0.36/temp
15-Aug-2016 15:52:46.669 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /Users/kazuhira/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
15-Aug-2016 15:52:46.882 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
15-Aug-2016 15:52:46.915 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
15-Aug-2016 15:52:46.918 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
15-Aug-2016 15:52:46.929 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
15-Aug-2016 15:52:46.930 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 686 ms
15-Aug-2016 15:52:46.959 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
15-Aug-2016 15:52:46.960 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.36
15-Aug-2016 15:52:46.967 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
15-Aug-2016 15:52:46.975 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
15-Aug-2016 15:52:46.975 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 45 ms
Connected to server
[2016-08-15 03:52:47,388] Artifact progetto:war: Artifact is being deployed, please wait...
15-Aug-2016 15:52:49.707 INFO [RMI TCP Connection(2)-127.0.0.1] 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 scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
[2016-08-15 03:52:49,771] Artifact progetto:war: Artifact is deployed successfully
[2016-08-15 03:52:49,771] Artifact progetto:war: Deploy took 2.383 milliseconds
15-Aug-2016 15:52:56.973 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /Users/kazuhira/Workspace/servers/apache-tomcat-8.0.36/webapps/manager
15-Aug-2016 15:52:57.005 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /Users/kazuhira/Workspace/servers/apache-tomcat-8.0.36/webapps/manager has finished in 31 ms

问题是当我使用 Spring STS 时我没有这个问题。

最佳答案

  • 停止服务器
  • 选中服务器选项卡中的复选框部署在 Tomcat 实例中配置的应用程序
  • 启动服务器
  • 导航到 http://localhost:8080/manager/
  • 在那里搜索已部署的应用

关于java - 无法部署我的 Web 应用程序(Spring MVC、Tomcat 服务器、Maven、IntelliJ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38956631/

相关文章:

java - 如何在单击链接时将java对象从jsp传递到spring Controller

java - 如何配置 m2e eclipse 插件以支持父版本范围?

java - Eclipse 在重命名时复制包及其资源

java - 将 Maven Artifact 映射到 Debian 包

java - 比较两个相同来源的 BCRYPTed 密码

java - 如何将图像文件和数据从swift5传输到spring服务器?

Java线程程序在for循环之前退出(程序的服务器端)(Eclipse使用Mac终端/命令行参数)

sql - 加入 3 个表 Hibernate & JPA

java - XML解析错误: syntax error in Spark framework

java - 我不明白 Spring 中的 Autowired