2016-03-01 105 views
0

我想将我的Spring启动应用程序(.war)部署到外部Tomcat服务器。我的应用程序在Eclipse中使用我的本地Tomcat 8和jdk 8正常工作。此外,我们正在使用maven和部署春季启动战争给Tomcat 8

现在,我们必须从头开始设置整个服务器,并尽力做到最好,但应用程序不会找到任何服务。我们可以调用静态html,css和js文件。就我们想要调用服务而言,我们得到了404错误。

任何人都可以告诉我一步一步设置tomcat部署战争?

这里是我的startclass:

@PropertySources({ 
     @PropertySource("classpath:/application.properties"), 
     @PropertySource("classpath:/messages_de.properties") 
}) 
@SpringBootApplication 
public class Application { 
    public static void main(String[] args) throws Exception { 
     SpringApplication springApplication = new SpringApplication(Application.class); 
     springApplication.run(args); 
    } 
} 

下面是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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>de.quanto</groupId> 
    <artifactId>QuantoSpringMVC</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>QuantoSpringMVC Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.3.2.RELEASE</version> 
    </parent> 
    <dependencies> 
     <dependency> 
      <groupId>javax</groupId> 
      <artifactId>javaee-web-api</artifactId> 
      <version>7.0</version> 
      <scope>provided</scope> 
     </dependency> 
     <!-- for JPA, use hibernate-entitymanager instead of hibernate-core --> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.36</version> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse.persistence</groupId> 
      <artifactId>org.eclipse.persistence.jpa</artifactId> 
      <version>2.6.1-RC1</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.persistence</groupId> 
      <artifactId>persistence-api</artifactId> 
      <version>1.0.2</version> 
     </dependency> 
     <!-- Used for generating hibernate-model classes >>> --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-tools</artifactId> 
      <version>4.3.2.Final</version> 
      <scope>compile</scope> 
      <exclusions> 
       <exclusion> 
        <artifactId>log4j</artifactId> 
        <groupId>log4j</groupId> 
       </exclusion> 
       <exclusion> 
        <artifactId>slf4j-api</artifactId> 
        <groupId>org.slf4j</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse.equinox</groupId> 
      <artifactId>app</artifactId> 
      <version>1.3.200-v20130910-1609</version> 
     </dependency> 
     <!-- <<< --> 
     <!-- SPRING DEPENDENCIES/REPO/PLUGINS STARTS HERE --> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
      <exclusions> 
       <exclusion> 
        <artifactId>jcl-over-slf4j</artifactId> 
        <groupId>org.slf4j</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
      <exclusions> 
       <exclusion> 
        <artifactId>slf4j-api</artifactId> 
        <groupId>org.slf4j</groupId> 
       </exclusion> 
       <exclusion> 
        <artifactId>jcl-over-slf4j</artifactId> 
        <groupId>org.slf4j</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-tomcat</artifactId> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <version>1.3.2.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-orm</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <!-- SECURITY START --> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-core</artifactId> 
      <version>4.0.3.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-web</artifactId> 
      <version>4.0.3.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-config</artifactId> 
      <version>4.0.3.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-dbcp</groupId> 
      <artifactId>commons-dbcp</artifactId> 
      <version>1.4</version> 
     </dependency> 
     <!-- SECURITY ENDS --> 
     <!-- Authentification (Access Directory...) --> 
     <dependency> 
      <groupId>org.springframework.security.oauth</groupId> 
      <artifactId>spring-security-oauth2</artifactId> 
      <version>2.0.8.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.modelmapper</groupId> 
      <artifactId>modelmapper</artifactId> 
      <version>0.7.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.modelmapper.extensions</groupId> 
      <artifactId>modelmapper-spring</artifactId> 
      <version>0.7.5</version> 
     </dependency> 
    </dependencies> 
    <properties> 
     <springframework.version>4.2.4.RELEASE</springframework.version> 
     <java.version>1.7</java.version> 
     <tomcat.version>8.0.32</tomcat.version> 
    </properties> 
    <repositories> 
     <repository> 
      <id>spring-releases</id> 
      <url>https://repo.spring.io/libs-release</url> 
     </repository> 
    </repositories> 
    <pluginRepositories> 
     <pluginRepository> 
      <id>spring-releases</id> 
      <url>https://repo.spring.io/libs-release</url> 
     </pluginRepository> 
    </pluginRepositories> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
     <finalName>QuantoSpringMVC</finalName> 
    </build> 
</project> 

回答

1

您需要使用文本其新的变化来更新你的经理网址

<plugin> 
       <groupId>org.apache.tomcat.maven</groupId> 
       <artifactId>tomcat8-maven-plugin</artifactId> 
       <version>{version}</version> 
       <configuration> 
        <url>http://yourRemoteServer:8888/manager/text</url> 
        <server>TomcatServer</server> 
        <path>/{project.artifactId}</path> 
       </configuration> 
      </plugin> 

现在您可以运行mvn tomcat7:部署(或重新部署)

PS:我知道命令tomcat7:deploy(redeploy)存在,但我不确定tomcat8:部署!

+0

难道是我的网址在** manager/html **上结束? 我还需要在这个插件中自定义什么? 我使用eclipse中的“maven install”,然后在tomcat管理器gui的帮助下部署.war。这可以工作吗? – Andy

+0

这种方法被认为是使用插件tomcat。对于这个插件,'\ text'扩展名是关于使用tomcat 6和tomcat 7进行部署的更新。不幸的是,我知道这个解决方案,但如果你尝试直接与你的经理部署贵我不知道这将工作。 – Hohenheim

+0

现在正在工作。我们安装了正确的java 8版本。然后在pom.xml中设置上面的代码,使用“maven install”并通过gui进行上传。 – Andy