SpringBoot war打包
pom.xml部分
<packaging>war</packaging> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <!--war打包的文件名称,以及引入资源--> <warSourceExcludes>src/main/resources/**</warSourceExcludes> <warName>mywebName</warName> </configuration> </plugin>
程序入口实现SpringBootServletInitializer方法,同时,必须去掉@Override方法。
@SpringBootApplication @EnableElasticsearchRepositories(basePackages = {"com.xxx.elasticSearch.Repository"}) // elasticsearch repositories @ComponentScan(basePackages="com.xxx") @EnableScheduling //定时器 @MapperScan("com.xxx.mysql.dao") // mybatis mapper public class Application extends SpringBootServletInitializer { /* @Override //不注释 无法打包缺少class编译文件 protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); }*/ public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } }
补充一种方法:
如果按照上面做了,打包仍然缺少文件(*.class ..),可以继续 按照下面的方法做:
在编译器idea中,创建tomcat server, 然后 build –>build Artifacts 选择第一个就行。生成war.最后:good luck !!