JSW Java_使用JSW包装你得Maven应用
什么是JSW
JSW主要用于包装其他java服务器端程序(比如tomcat,或者自己开发的java服务器程序),提供如下特性:
作为windows服务或者unix守护进程运行
增强程序的可靠性,程序崩溃后的自动重启,比如内存溢出,虚拟机崩溃等造成JVM退出的监控和恢复运行(重新启动)
标准的,可独立使用的配置JVM参数的脚本
支持java应用程序重启JVM,比如应用程序修改了配置文件,或者重启系统避免内存溢出等问题
灵活的配置
简化应用程序的安装
记录日志
在Maven中使用JSW
现在Maven是Java世界的主流构建工具,把JSW融入Maven的生命周期中就变能在不改变当前构建流程的情况下获得JSW提供的好处。Maven提供了appassembler插件对这一目标提供支持,首先在Pom中引入appassembler插件:
org.codehaus.mojo
appassembler-maven-plugin
1.10
conf
src/main/resources
true
true
true
flat
lib
.sh
com.freetmp.investigate.springboot.Application
jsw
linux-x86-32
linux-x86-64
windows-x86-32
windows-x86-64
macosx-universal-32
macosx-universal-64
configuration.directory.in.classpath.first
conf
wrapper.logfile
logs/location-web.log
wrapper.logfile.format
M
wrapper.logfile.maxsize
10m
wrapper.logfile.maxfiles
5
jsw
investigate-spring-boot
build-deploy-dir
package
generate-daemons
将appassembler的generate-daemons目标绑定到maven的package构建阶段,通过appassembler插件的deamons属性配置来描述对JSW的定制,包括日志,类路径,包装平台等;maven构建后会生成如下结构:
其中lib下放置的是程序运行所有的依赖,conf下是程序的配置文件(日志,jsw等),bin下是jsw的可执行脚本:
在Windows平台下的命令格式如下:
在命令行下启动程序:
使用maven构建分发包
appassembler插件生成的只是包含运行以来及配置的目录结构,而构建的分法包是一个压缩后的文进,无论是在linux还是Windows下对一个目录进行压缩都是很容易的事,但是既然使用了maven,那我们就可以把这一过程也加入到maven的构建流程中:
org.apache.maven.plugins
maven-assembly-plugin
2.5.4
package
single
src/main/resources/assembly.xml
使用assembly插件对jsw的部署目录进行压缩打包:
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2
http://maven.apache.org/xsd/assembly-1.1.2.xsd">
bin
tar.gz
target/generated-resources/appassembler/jsw/investigate-spring-boot/lib
lib
maven-metadata-appassembler.xml
target/generated-resources/appassembler/jsw/investigate-spring-boot/conf
conf
application-online.properties
application.properties
ehcache-shiro.xml
wrapper.conf
target/generated-resources/appassembler/jsw/investigate-spring-boot/bin
bin
0755
keep
src/main/resources
bin
service_manage.sh
0755
keep
target/generated-resources/appassembler/jsw/investigate-spring-boot/bin
logs
*
构建后的输出如下:
参考
JSW Java_使用JSW包装你得Maven应用相关推荐
- JSW Java_微服务架构—JAVA打包黑科技
疑问:Spring Boot已经有了 spring-boot-maven-plugin 的打包方式,为什么还要自己重新实现打包方式呢? 答:都各有优势吧,不过本文的方式更加强大.不过SpringBoo ...
- JSW Java_java服务安装(一):使用java service wrapper及maven打zip包
1.概述 使用java开发程序,在windows平台下,一般有web应用,后台服务应用,桌面应用: web应用多数打成war包在web容器(如tomcat,jetty等)中运行 桌面应用一般打成jar ...
- maven jsw配置
资源文件处理 <resources><resource><directory>src/main/resources</directory><exc ...
- java 压缩jar 仓库,java服务安装(一):使用java service wrapper及maven打zip包
tags: java jsw maven zip 1.概述 使用java开发程序,在windows平台下,一般有web应用,后台服务应用,桌面应用: web应用多数打成war包在web容器(如tomc ...
- 【Web安全】JSP内存马研究
前言 最近在研究webshell免杀的问题,到了内存马免杀部分发现传统的Filter或者Servlet查杀手段比较多,不太容易实现免杀,比如有些工具会将所有注册的Servlet和Filter拿出来,排 ...
- JAVA——Tess4J简单的图像识别DEMO
基本概念 Tesseract Open Source OCR Engine :包含一个OCR引擎 - libtesseract和一个命令行程序 - tesseract.Tesseract 4添加了一个 ...
- JSP是如何编译成servlet并提供服务的
概述 服务端对外提供JSP请求服务的是JspServlet,继承自HttpServlet.核心服务入口在service方法,大体流程如下: 首先获取请求的jspUri,如果客户端发起请求:https: ...
- maven 打包zip,jsw相关
参考链接: https://blog.csdn.net/masson32/article/details/51802732 转载于:https://www.cnblogs.com/wanjn/p/90 ...
- spring cloud项目部署为jsw、tomcat的pom脚本
1.部署为jsw pom文件 <?xml version="1.0"?> <project xsi:schemaLocation="http://mav ...
最新文章
- title: postGreSQL 插件 timescaleDB 安装使用 date: 2019-02-14 18:02:23
- shell-变量的数值计算
- windows与linux下的\r\n
- CocoaPods最新版本升级
- 光纤收发器模块如何选购,光纤收发器模块选购原则
- 上海交大研究生计算机考研真题,2011年上海交通大学计算机研究生机试真题
- 【Julia】Julia使用Pkg下载镜像配置问题解决方案
- Struts2学习笔记(十九) 验证码
- Mean Shift具体介绍
- /var/run/yum.pid 已被锁定,PID 为 XXXX 的另一个程序正在运行。
- Android下OpenSLES播放PCM音频文件
- 如何将 Mac 镜像到电视
- 暴力法——猴子分桃-源代码 c语言实现
- 1500ml等于多少l_1500ml等于几斤呢?
- AIC(最小信息化准则)
- 问题 J: LZY订单查询
- 【Mysql系列】MySQL创建数据库、CURD的操作
- USB 设置配置(SetConfiguration)和设置接口(SetInterface)的区别与联系
- python05——摩尔斯电码
- 高德地图-删除多个点标记