idea--springboot项目打包之war包

项目打包之war包

1.将SpringBoot的项目的打包方式设置为war

Maven依赖项

  <groupId>com.geostar.zrzy</groupId>

  <artifactId>ProvinceEstateShare</artifactId>

  <version>1.0</version>

  <packaging>war</packaging>

 

2.移除内嵌的tomcat模块,但是为了我们在本机测试方便,我们还需要引入它,所以配置如下

<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>  

<dependency>  

        <groupId>org.springframework.boot</groupId>  

        <artifactId>spring-boot-starter-tomcat</artifactId>  

        <scope>provided</scope>  

</dependency>  

3.添加tomcat-servelt-api依赖

 

<dependency>  

      <groupId>org.apache.tomcat</groupId>  

      <artifactId>tomcat-servlet-api</artifactId>  

      <version>7.0.42</version>  

     <!--  <scope>provided</scope>  -->

</dependency>

 

4.修改入口方法 继承一个SpringBootServletInitializer类,并且覆盖configure方法

 

public class SpringDataJpaExampleApplication extends SpringBootServletInitializer {  

  

    @Override  

    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {  

        return application.sources(SpringDataJpaExampleApplication.class);  

    }  

  

    public static void main(String[] args) {  

        SpringApplication.run(SpringDataJpaExampleApplication.class, args);  

    }  

}  

 

  1. 添加war插件,用来自定义打包以后的war包的名称

 

<plugin>  

      <groupId>org.apache.maven.plugins</groupId>  

      <artifactId>maven-war-plugin</artifactId>  

      <configuration>  

          <warSourceExcludes>src/main/resources/**</warSourceExcludes>  

          <warName>ROOT</warName>  

      </configuration>  

</plugin>  

 

注意:本地jar打入项目中,以ojdbc为例

 <dependency>

            <groupId>oracle</groupId>

            <artifactId>ojdbc6</artifactId>

            <version>11.2.0.3</version>

            <scope>system</scope>

            <systemPath>${project.basedir}/lib/ojdbc6-11.2.0.3.jar</systemPath>

 </dependency>

 

 这里引用的是servlet包,最重要的是scope这个字段,provided的意思,就是说这个jar包,在这个项目可能的运行环境里,都会提 供了的,所以就不用打包到war包里面了。因此,要使得war包里面包含servlet这个包,只要把scope这句给删除掉就可以了。

<dependency>    

<groupId>javax.servlet</groupId>    

<artifactId>servlet-api</artifactId>    

<version>2.5</version>   

<scope>provided</scope>   

 </dependency>

 

 

 

  directory字段指向的是包含你所有要用jar包的目录

 

targetPath则是编译后要把这些jar包复制到的位置

 

下面的filtering就是只导入所有以jar为后缀的文件

 

通过上面的设置,就能把你要的jar包导入进去了

<plugin>    

<groupId>org.apache.maven.plugins</groupId>   

 <artifactId>maven-war-plugin</artifactId>   

 <configuration>     

<webResources>     

<resource>     

<directory>${project.basedir}/lib</directory>   

 <targetPath>WEB-INF/lib</targetPath>  

 <filtering>false</filtering>    

 <includes>    

<include>**/*.jar</include>   

 </includes> </resource>  

 </webResources>   

 </configuration>   

  </plugin>  

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值