idea开发springboot项目。maven作为项目管理的工具。我们只需要引入:
<packaging>war</packaging>
<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins>
就可以在springboot内置的tomcat容器类启动应用。
但是如果我们要打包部署到外置的tomcat服务器。这个时候就需要做一些小小的改动了,不然eureka没法发现部署的应用。以下内容亲测通过
1:添加maven-war-plgin打war包插件。然后指定war包的名称。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!--<webXml>WebContent\WEB-INF\web.xml</webXml>-->
<webXml>src\main\webapp\WEB-INF\web.xml</webXml>
<warName>microservice-provider-user</warName>
</configuration>
</plugin>
2:要添加如下依赖:scope一定要是provided.(eclipse要写成complie)只在编译阶段起效,添加外置tomcat依赖包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
3:修改主程序:
@SpringBootApplication
@EnableDiscoveryClient
public class MicroserviceProviderUserApplication extends SpringBootServletInitializer {
/*@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application){
return application.sources(MicroserviceProviderUserApplication.class);
}*/
public static void main(String[] args) {
SpringApplication.run(MicroserviceProviderUserApplication.class, args);
}
}
继承SpringBootServletInitializer就行了。网上说要实现WebApplicationContext接口。重写config方法。这都多次一举。因为
SpringBootServletInitializer已经实现了这个接口。
接下来。配置外置tomcat就行了
启动就行了。easy