maven javaProject打包发布成服务
1,现在pom.xml中添加打包所需要的jar包。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version> 1.7.1</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.dsdl.server.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
2,右击项目 选择-->run --->run configurations -->maven build ,右击maven build ---> New

选择Browse Workspace 选中要发布的javaproject
Goals: clean package
Maven Runtime :选中Maven的安装路径。
最后点击 Run,在项目的target文件夹下面会出现这些文件。其中标出的那个是需要拷到服务器上的。

3,拷到服务器上。放到磁盘的文件夹下。另外要写个批处理 reg.bat 和运行环境 javaService.exe。

reg 的内容:
@echo off rem 修改控制台颜色
color 1d rem * 使用JavaService将TestTimer安装为Windows服务的脚本
rem *
rem * JavaService - Windows NT Service Daemon for Java applications
rem * Copyright (C) 2006 Multiplan Consultants Ltd. LGPL Licensing applies
rem * Information about the JavaService software is available at the ObjectWeb
rem * web site. Refer to http://javaservice.objectweb.org for more details. rem 开始批处理文件中环境改动的本地化操作,在使用endlocal后环境将恢复到原先的内容
SETLOCAL rem 设置环境变量,指向当前路径
SET BASE_PATH=%CD%
rem 设置Java path: jre_home
SET JRE_HOME=C:\Program Files\Java\jre7
rem 判断JRE_HOME是否正确
if "%JRE_HOME%" == "" goto no_java
if not exist "%JRE_HOME%\bin\java.exe" goto no_java
rem 设置jvm内存分配情况
set JVM_MEMORY=-Xms256m -Xmx512m rem 设置jvmdll使用哪一种模式
SET jvmdll=%JRE_HOME%\bin\client\jvm.dll
if not exist "%jvmdll%" SET jvmdll=%JRE_HOME%\bin\server\jvm.dll
if not exist "%jvmdll%" goto no_java rem 设置JavaService路径
set JSBINDIR=E:\project
set JSEXE=%JSBINDIR%\JavaService.exe rem 判断jar是否正确
SET acctjar=%BASE_PATH%\UDPServer-0.0.1-SNAPSHOT.jar
if not exist "%acctjar%" goto no_peer @echo . Using following version of JavaService executable:
@echo .
"%JSEXE%" -version
@echo . rem parameters and files seem ok, go ahead with the service installation
@echo . %BASE_PATH% +++++++++++++++++++ rem 处理该批处理的输入参数,后台服务启动模式:自动
SET svcmode=
if "%1" == "-manual" SET svcmode=-manual
if "%1" == "-auto" SET svcmode=-auto rem 设置JAVA_OPTS
set JAVA_OPTS=%JAVA_OPTS% -Djava.class.path="%BASE_PATH%\UDPServer-0.0.1-SNAPSHOT.jar"
set JAVA_OPTS=%JAVA_OPTS% %JVM_MEMORY% rem 设置startstop
SET START_STOP=-start com.dsdl.server.Main rem 设置Log文件路径
set OUT_ERR=-out "%BASE_PATH%\service_out.log" -err "%BASE_PATH%\service_err.log" rem 设置desp
set DESP=-description "UdpServer Service" rem 设置执行命令行
set runcmd="%JSEXE%" -install UDPSERVER
set runcmd=%runcmd% "%jvmdll%"
set runcmd=%runcmd% %JAVA_OPTS%
set runcmd=%runcmd% %START_STOP%
set runcmd=%runcmd% %OUT_ERR%
set runcmd=%runcmd% -current
set runcmd=%runcmd% "%BASE_PATH%"
set runcmd=%runcmd% %svcmode%
set runcmd=%runcmd% -overwrite
set runcmd=%runcmd% -startup 6
set runcmd=%runcmd% %DESP%
echo %runcmd% rem 执行安装命令
%runcmd% rem 启动服务
net start UDPSERVER
if ERRORLEVEL 1 goto js_error goto end :no_java
@echo . No java Evn
goto error_exit :no_peer
@echo . jar is not exist
goto error_exit :no_jsexe
@echo . JavaService.exe is not exist
goto error_exit :js_error
@echo . UDPSERVER error
goto error_exit :error_exit @echo .
@echo . install fail,can not make UDPServer-0.0.1-SNAPSHOT install for Windows Service
@echo .
@echo . mingling geshi:
@echo .
@echo . %~n0 [-auto / -manual] [-np]
@echo .
@echo . qizhong:
@echo . -auto (默认) or -manual 参数说明了服务的启动模式:自动或者手动
@echo . -np 批处理命令执行完毕后不暂停
@echo .
@echo . 比如:
@echo . %~n0 -auto -np :end
ENDLOCAL
@echo .
if "%2" NEQ "-np" @pause
4,最后双击 reg.bat 即可。
提示:必须有权限的登录账号才注册服务。开始我自己的账号,怎么试都不行,后来改成administrator账号,才成功。
maven javaProject打包发布成服务的更多相关文章
- maven项目打包发布到私有仓库
在项目开发中通常会引用其他的jar,怎样把自己的项目做为一个jar包的形式发布到私服仓库中,主要有以下三个步骤 (怎样配置maven私服仓库,就不再这里说明了,可以参考以前的文章)1.在maven的s ...
- Maven 项目打包发布
在Eclipse左侧右击项目,Debug As -> Debug Configurations -> 双击Maven Build 然后看弹出框的右侧右侧的Name随便填写一个名字,Base ...
- docker-compose 完整打包发布, 多服务,多节点SPRING CLOUD ,EUREKA 集群
这里不再使用 端口映射的方式,因为不同主机上,Feign 根据 docker hostname访问会有问题. 把打包的好jar copy到docker镜像里 有几个服务,就复制几个dockerfile ...
- windows bat发布成服务
删除服务 删除名为"WINDOWS MANAGEMONT INSTALLER"的系统服务 sc delete "windows managemont Installer& ...
- maven项目打包发布时跳过测试
mvn命令: mvn clean install -Dmaven.test.skip=true eclipse build... 命令: clean install -Dmaven.test.skip ...
- 使用Ant 和 Maven打包发布命令行程序(转载)
From:https://www.linux178.com/Java/maven-release.html 用Java写了一个命令行的小程序,使用的Intellij IDE是IDEA13原来一直使用A ...
- JFX11+IDEA跨平台打包发布的完美解决办法
1 概述 IDEA2020.1的文档中提到只有JFX8的工程才支持打成jar包,并且,如果直接使用Build Artifacts的话,会如下提示: IDEA文档有提到这个的解决办法,是使用一些第三方工 ...
- geoserver发布地图服务WMS
wms服务发布: 1.打开geoserver管理首页(网址为http://localhost:8080/geoserver/web/),并使用安装时设置的帐户名和密码登录(这里是admin/geose ...
- Expo大作战(十八)--expo如何发布成独立应用程序,打包成apk或者ipa,发布到对应应用商店
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
随机推荐
- (转)C#中String跟string的“区别”
string是c#中的类,String是.net Framework的类(在C# IDE中不会显示蓝色) C# string映射为.net Framework的String 如果用string,编译器 ...
- 1、postman介绍与安装
postman介绍 官方介绍:Developers use Postman to build modern software for the API-first world. 个人理解postman是 ...
- C++子类父类构造函数的关系
在C++中子类继承和调用父类的构造函数方法 构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法).因此,在创建子类对象 ...
- html select美化模拟jquery插件select2.js
代码展示:http://www.51xuediannao.com/demo.php 代码说明: select2.js是一个html select美化模拟类jquery插件,但是select2.js又远 ...
- zabbix--添加用户
用户和用户组 概述 Zabbix 中的所有用户都通过 Web 前端去访问 Zabbix 应用程序.并为每个用户分配唯一的登陆名和密码. 所有用户的密码都被加密并储存于 Zabbix 数据库中.用户 ...
- 怎样有效防止ddos
怎样有效防止ddos?当我们发现服务器被DDoS攻击的时候,不要过度惊慌失措,先查看一下网站服务器是不是被黑了,找出网站存在的黑链,然后做好网站的安全防御,开启IP禁PING,可以防止被扫描,关闭不需 ...
- 笔记54 Mybatis快速入门(五)
Mybatis中注解的使用 1.XML方式的CRUD 新增加接口CategoryMapper ,并在接口中声明的方法上,加上注解对比配置文件Category.xml,其实就是把SQL语句从XML挪到了 ...
- github合并分支到master
(1)切换到master分支 git checkout master (2) 将backup分支的代合并到master git merge backup (3) 查看状态 git status (4) ...
- springmvc之json交互406异常(Not Acceptable)和415异常(Unsupported Media Type)
一. 406异常(Not Acceptable) 1. 没有添加jackson-databind包2. 请求的url的后缀是*.html.在springmvc中如果请求的后缀是*.html的话,是不可 ...
- Batch - attrib 命令
原文地址:CMD中使用attrib命令设置文件只读.隐藏属性详解 本文介绍一个cmd下的一个attrib.exe的小程序,它可以用来设置文件的属性.我们知道文件的属性有只读.隐藏.系统.存档和无内容索 ...