springboot打jar/war包的方法

springboot 中 jar包的打入方式

开发工具 idea
项目 maven 或 直接利用 spring Initializr创建

重中之重 导入依赖

第一步

在pom.xml文件中先找到自己的name标签,在其下面添加标签packaging
其中标签体中的内容为jar/war ,这次先写入jar

	<artifactId>springboot_zuoye</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot_zuoye</name>
    <packaging>jar</packaging>
如图所示:

在这里插入图片描述

第二步:2.配置maven插件

找到build标签在其中加入plugin标签 并引入依赖 ,
1.spring-boot-maven-plugin其版本为1.4.2,因只有测试过许多版本仅该版本可用
2.mainClass标签中指代的类为入口类的全类名

代码如下

    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>1.4.2.RELEASE</version>
        <!--使用热部署出现中文乱码解决方案-->
        <configuration>
          <fork>true</fork>
          <!--增加jvm参数-->
          <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
          <!--jar包部署-->
          <mainClass>com.baizhi.App</mainClass>
          <layout>JAR</layout>
        </configuration>
      </plugin>
    </plugins>

第三步 因springboot打成的jar包不会将jsp打到jar包里

需要引入resources标签是为了指定存放目录
其中3个includes标签
第一个指定的是jsp的目录
第二个纸袋的是resource的目录
第三个指定的是java的目录

<build>
        <resources>
            <!-- 打包时将jsp文件拷贝到META-INF目录下-->
            <resource>
                <!-- 指定resources插件处理哪个目录下的资源文件 -->
                <directory>src/main/webapp</directory>
                <!--注意此次必须要放在此目录下才能被访问到-->
                <targetPath>META-INF/resources</targetPath>
                  <!--是否包含-->
                <includes>
                 <!--将源目录的所有文件拷贝到目标目录-->
                    <include>**/**</include>
                    前面的**代表上面webapp下所有的文件和目录
                    后面的**代表所有文件拷贝到resources目录下
                </includes>
            </resource>
             <!--不要将resources中的文件拷贝到META-INF/resources-->
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/**</include>
                    前面的**代表resources下的所有文件和目录
                    后面的**代表所有文件拷贝到resources这个目录下
                    但因为其已经存在所以下面过滤掉
                </includes>
                <filtering>false</filtering>
            </resource>
              <!--不要将src/main/java中的文件拷贝到META-INF/resources-->
            <resource>
                <directory>src/main/java</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                    前面的**代表java下的所有目录和文件
                    后面的**代表所有文件不拷贝到.java的这个目录下
                </excludes>
            </resource>
        </resources>
    </build>**

第四步 使用lifecycle中的package指令打包

第五步 运行jar 利用cmd窗口 指令为:java - jar jar包名字.jar


springboot 中 war包的打入方式

1.pom.xml中必须将打包方式改为war

2.必须排除内嵌tomcat

3.当使用外部tomcat的时候 springboot项目中的项目名和端口号失效

注意:
1.项目名就是war文件的名字
2.端口号是tomcat的端口号
1.排除内嵌tomcat
 <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <scope>provided</scope>
    </dependency>
 <!--使内嵌tomcat支持jsp页面的解析-->
    <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-jasper</artifactId>
      <version>8.5.23</version>
      <scope>provided</scope>
    </dependency>
2.项目的入口类需要继承SpringBootServletInitializer
@MapperScan(basePackages = "com.baizhi.mapper")
@SpringBootApplication  //剖析
public class App extends SpringBootServletInitializer {
    public static void main(String[] args) {
        /*
         * 第一个参数 指当前入口类的类对象
         * 第二个参数 main函数中的args属性
         * */
        SpringApplication.run(App.class, args);
    }
    /*
    * 如果使用war包部署则需要实现该方法
    * */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(App.class);
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值