jar方式启动
我们知道SpringBoot内置了tomcat,可以直接通过jar方式启动与部署,不过在打包前,需要在POM文件中添加spring-boot-maven-plugin插件。
<build>
<plugins>
...
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.hujy.dubbo.dubboclient.DubboClientApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
启动类
@SpringBootApplication
public class DubboClientApplication {
public static void main(String[] args) {
SpringApplication.run(DubboClientApplication.class, args);
}
}
再定义一个web访问入口。
@RestController
public class DubboController {
@GetMapping("/test")
public String test() {
return "测试一下";
}
}
通过Maven打包:mvn clean package
启动target/目录下生成的jar包:java -jar dubbo-client-1.0.0.jar
输入地址,测试一下
外置tomcat启动
首先在POM文件中将打包方式改为war,然后引入tomcat相关依赖,spring-boot-starter-web中包含了spring-boot-starter-tomcat。
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
将启动类继承SpringBootServletInitializer类,重写configure方法。
@SpringBootApplication
public class DubboClientApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder applicationBuilder){
return applicationBuilder.sources(DubboClientApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DubboClientApplication.class, args);
}
}
通过Maven进行打包:mvn clean package
将target/目录下生成的war包(dubbo-client-1.0.0.war)复制到tomcat的webapps路径下。
通过命令或批处理启动tomcat
输入地址,测试一下。
注意这里需要加上项目名,即war包的名称,否则会报404。