Jar包发布

在项目pom.xml中, 如果继承了Spring Boot的starter parent, 那么默认已经包含打包需要的plugins了, 设置为jar就能直接打包成包含依赖的可执行的jar

    <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<relativePath/> <!-- lookup parent from repository -->
</parent>

如果不使用Spring Boot的starter parent, 那么需要在<build>中添加plugins, 这样也能打包包含依赖的可执行jar

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>{你的Application入口class}</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

使用内置Tomcat容器

pom.xml配置

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

使用内置Jetty容器

pom.xml配置

<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-jetty</artifactId>
</dependency>

在Application入口, 增加启动参数设置, 在Spring Boot 2.0之后, JettyServletWebServerFactory代替了JettyEmbeddedServletContainerFactory.

@Bean
public JettyServletWebServerFactory jettyEmbeddedServletContainerFactory(
@Value("${server.port:9090}") final String port,
@Value("${jetty.threadPool.maxThreads:200}") final String maxThreads,
@Value("${jetty.threadPool.minThreads:8}") final String minThreads,
@Value("${jetty.threadPool.idleTimeout:60000}") final String idleTimeout) {
JettyServletWebServerFactory jettyContainer = new JettyServletWebServerFactory();
jettyContainer.setPort(Integer.valueOf(port));
final QueuedThreadPool threadPool = new QueuedThreadPool();
threadPool.setMaxThreads(Integer.valueOf(maxThreads));
threadPool.setMinThreads(Integer.valueOf(minThreads));
threadPool.setIdleTimeout(Integer.valueOf(idleTimeout)); jettyContainer.setThreadPool(threadPool);
return jettyContainer;
}

这样在命令行中启动时, 可以通过命令行参数进行配置

$ java -jar your-project.jar --server.port=8081 --jetty.threadPool.maxThreads=300

.

.

最新文章

  1. 移动页面div居中效果代码
  2. Xcode模拟器不显示SDK版本,反而显示设备ID的解决办法
  3. asp.net保存网上图片到服务器
  4. PHP中错误处理集合
  5. 【BZOJ 1503】【NOI 2004】郁闷的出纳员
  6. 参数传递的四种形式----- URL,超链接,js,form表单
  7. NOIP2005 篝火晚会 解题报告
  8. Linux升级C基本运行库CLIBC
  9. 为IE6-7间接支持:before和:after伪类
  10. Android 实现图片加水印
  11. IntelliJ IDEA2018.3 最新破解方法
  12. Luogu 1086 - 花生采摘 - [简单模拟]
  13. 详解centos6和centos7防火墙的关闭
  14. ARM JTAG 调试原理
  15. SpringBoot 分页处理
  16. CSS中详解height属性
  17. linux内核分析 第7章读书笔记——《深入理解计算机系统》
  18. hdu-1171(多重背包+二进制优化)
  19. JAVA之路(二)
  20. 相比xib 使用代码编排view 的一个明显的好处就是可以更好地重复使用已有代码,减少代码冗余。

热门文章

  1. asp.net为什么会产生app_offline.htm 这个文件,为什么删除后运行浏览器就不会报应用程序脱机
  2. XML和JSON优缺点
  3. First Missing Positive leetcode java
  4. 引用外部jquery.js
  5. Android -- queryIntentActivities
  6. 【Java】Java-正则匹配-性能优化
  7. JAVA动态编译(JavaCompiler)
  8. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(五)针对hadoop2.9.0启动之后发现slave上正常启动了DataNode,DataManager,但是过了几秒后发现DataNode被关闭
  9. (转)径向模糊效果shader
  10. mongodb最大连接数、最大连接数修改