springboot项目打包成war部署在Tomcat实现自定义端口

打包

pom.xml

修改packaging

将 jar 修改为 war

<!--    <packaging>jar</packaging>-->
    <packaging>war</packaging>

添加依赖

        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <!--<scope>provided</scope>-->
            <!-- 如果不注释,你会发现main线程运行报404错误,必须使用 spring-boot:run这个命令运行才行。所以我们注释掉-->
        </dependency>
        <!--添加servlet-api的依赖,用来打war包  -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>

修改依赖

1.将

            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

修改成

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2.将

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

改为

        <finalName>phoneshow</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!--配置springboot入口类-->
                <configuration>
                    <fork>true</fork>
                    <jvmArguments>Dfile.encoding=UTF-8</jvmArguments>
                    <!--配置入口类的标签名-->
                    <mainClass>com.phoneback</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>

启动类

public class DemocopyApplication{
    
    

    public static void main(String[] args) {
    
    
        SpringApplication.run(DemocopyApplication.class, args);
    }
}

修改为

public class DemocopyApplication extends SpringBootServletInitializer{
    
    

    public static void main(String[] args) {
    
    
        SpringApplication.run(DemocopyApplication.class, args);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
    
    
        return builder.sources(DemocopyApplication.class);
    }
}

部署

部署一个项目

放在tomcat的webapps文件夹内
在这里插入图片描述
双击bin内的startup.bat运行
访问方式:
http://localhost:8080/项目名
在这里插入图片描述

部署多个项目不同端口

修改conf文件夹内的server.xml文件
原来的删除注释内容后显示:
在这里插入图片描述

复制一份,将service和engine的名字改成其他的(必须一样),host的appbase修改新名字,将port修改成自己想要的端口号。
在这里插入图片描述

要想访问不加后面的项目名加上,如上图:

<Context path=""  docBase="phoneshow" reloadable="true" />

docBase是项目名。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42571665/article/details/127363008
今日推荐