【问题标题】:Deploy jar Tomcat 8部署 jar Tomcat 8
【发布时间】:2018-09-25 08:25:30
【问题描述】:

我好久没开发了。

现在我又开始开发了。我已经构建了 Spring Boot 应用程序,但不幸的是,在 Intellij 中的“Maven:Install”将文件复制到 Tomcat 8 之后,Tomcat 没有部署该应用程序。

在 server.xml 我有 autoDeploy="true"

pom.xml 中的构建部分是:

<build>
    <finalName>ROOT</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.9</version>
            <configuration>
                <additionalProjectnatures>
                    <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
                </additionalProjectnatures>
                <additionalBuildcommands>
                    <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
                </additionalBuildcommands>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <compilerArgument>-Xlint:all</compilerArgument>
                <showWarnings>true</showWarnings>
                <showDeprecation>true</showDeprecation>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <configuration>
                <mainClass>org.test.int1.Main</mainClass>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

当然 Tomcat 工作正常。

在 catalina 中没有任何信息,即 tomcat 正在尝试部署 - 完全没有。

你能支持我吗,我忘记了什么?

【问题讨论】:

    标签: java spring tomcat deployment


    【解决方案1】:

    如果你开发一个spring boot应用程序,你不需要复制文件到tomcat。 您只需运行生成的 jar 文件:

    'java -jar jarFileName.jar'

    并将启动应用程序。 tomcat包含在jar文件中

    【讨论】:

    • 所以我可以将 jar 文件放在服务器的任何位置并运行它?
    • 没有。您不需要将 jar 复制到服务器中。仅使用 java -jar ... 命令运行 jar。够了。
    • 关于关闭控制台的其他问题,应用程序将停止。这是真的。因此,使用批处理/shell 脚本启动应用程序
    【解决方案2】:

    要能够将您的 Spring Boot 应用程序作为 .war 文件部署到 tomcat 服务器,您需要以下先决条件:

    1. 将 spring-boot-maven 插件添加到你的 pom.xml

          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
              <version>${springboot.version}</version>
              <executions>
                  <execution>
                      <goals>
                          <goal>repackage</goal>
                      </goals>
                  </execution>
              </executions>
          </plugin>
      
    2. 你应该让你的 SpringBootApplication 扩展 SpringBootServletInitializer

      @SpringBootApplication
      public class YourSpringBootApplication extends SpringBootServletInitializer {
      
          public static void main(String[] args) {
              SpringApplication.run(YourSpringBootApplication .class, args);
          }
      
          @Override
          protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
              return application.sources(YourSpringBootApplication .class);
           }
      }
      

    【讨论】:

    • 谢谢,还有一个问题 - 即使我想在 Tomcat (Spring Boot) 中使用构建,我应该如何运行应用程序并让它继续运行?如果我在关闭控制台时使用“java -jar ....”,应用程序将停止。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 2019-05-13
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多