我正在开发一个Spring MVC+Security+MySQL项目。我现在必须使用的 IDE 是 IntelliJ IDEA。
问题是我不知道如何配置我的应用程序在 Tomcat 服务器上的部署。
现在我上传一些(我希望)有用的信息来解决我的问题。
Spring应用上下文配置:
项目结构:
Tomcat 服务器配置:
Tomcat 服务器部署:
服务器启动时得到的结果:
服务器启动后启动的URL:
项目 Artifact :
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/