maven项目打War包
程序员文章站
2022-06-17 18:15:15
...
首先是在pom.xml中加入tomcat依赖
<!-- 这里指定打包的时候不再需要tomcat相关的包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
在下面还要设置:
<build>
<plugins>
<!-- ... -->
<!-- maven打包的时候告诉maven不需要web.xml,否刚会报找不到web.xml错误 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version><!-- 版本号视情况而定-->
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
然后在项目的入口xxxApplication.java中:
@EnableAutoConfiguration //这个注解可以根据你依赖的包自动生成相关配置
@ComponentScan //这两个注解可以使用SpringBootApplication替代
public class App extends SpringBootServletInitializer
{
public static void main( String[] args ){
SpringApplication.run(App.class, args);
}
@Override //重写这个方法,告诉tomcat解析war包时的入口
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// TODO Auto-generated method stub
return builder.sources(App.class);
}
}
如上设置完成后,运行选择 Run As –>Maven install,如果之前有过运行的话,可以先Run As –>Maven clean一下。等着install过程结束后在控制台上倒数几行有这个war包的路径,一般在你的本地Maven库中。