1,现在pom.xml中添加打包所需要的jar包。

 1 <plugins>
 2 <plugin>
 3     <groupId>org.apache.maven.plugins</groupId>
 4     <artifactId>maven-shade-plugin</artifactId>
 5     <version> 1.7.1</version>
 6     <configuration>
 7         <createDependencyReducedPom>false</createDependencyReducedPom>
 8     </configuration>
 9     <executions>
10         <execution>
11             <phase>package</phase>
12             <goals>
13                 <goal>shade</goal>
14             </goals>
15             <configuration>
16                 <transformers>
17                      <transformer
18                         implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
19                         <resource>META-INF/spring.handlers</resource>
20                     </transformer>
21                     <transformer
22                         implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
23                         <resource>META-INF/spring.schemas</resource>
24                     </transformer>
25                     <transformer
26                         implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
27                         <mainClass>com.dsdl.server.Main</mainClass>
28                     </transformer>
29                 </transformers>
30             </configuration>
31         </execution>
32     </executions>
33 </plugin>
34 </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 的内容:

  1 @echo off
  2
  3 rem 修改控制台颜色
  4 color 1d
  5
  6 rem * 使用JavaService将TestTimer安装为Windows服务的脚本
  7 rem *
  8 rem * JavaService - Windows NT Service Daemon for Java applications
  9 rem * Copyright (C) 2006 Multiplan Consultants Ltd. LGPL Licensing applies
 10 rem * Information about the JavaService software is available at the ObjectWeb
 11 rem * web site. Refer to http://javaservice.objectweb.org for more details.
 12
 13 rem 开始批处理文件中环境改动的本地化操作,在使用endlocal后环境将恢复到原先的内容
 14 SETLOCAL
 15
 16 rem 设置环境变量,指向当前路径
 17 SET BASE_PATH=%CD%
 18 rem 设置Java path: jre_home
 19 SET JRE_HOME=C:\Program Files\Java\jre7
 20 rem 判断JRE_HOME是否正确
 21 if "%JRE_HOME%" == "" goto no_java
 22 if not exist "%JRE_HOME%\bin\java.exe" goto no_java
 23 rem 设置jvm内存分配情况
 24 set JVM_MEMORY=-Xms256m -Xmx512m
 25
 26 rem 设置jvmdll使用哪一种模式
 27 SET jvmdll=%JRE_HOME%\bin\client\jvm.dll
 28 if not exist "%jvmdll%" SET jvmdll=%JRE_HOME%\bin\server\jvm.dll
 29 if not exist "%jvmdll%" goto no_java
 30
 31 rem 设置JavaService路径
 32 set JSBINDIR=E:\project
 33 set JSEXE=%JSBINDIR%\JavaService.exe
 34
 35 rem 判断jar是否正确
 36 SET acctjar=%BASE_PATH%\UDPServer-0.0.1-SNAPSHOT.jar
 37 if not exist "%acctjar%" goto no_peer
 38
 39 @echo . Using following version of JavaService executable:
 40 @echo .
 41 "%JSEXE%" -version
 42 @echo .
 43
 44 rem parameters and files seem ok, go ahead with the service installation
 45 @echo .  %BASE_PATH% +++++++++++++++++++
 46
 47 rem 处理该批处理的输入参数,后台服务启动模式:自动
 48 SET svcmode=
 49 if "%1" == "-manual" SET svcmode=-manual
 50 if "%1" == "-auto" SET svcmode=-auto
 51
 52
 53 rem 设置JAVA_OPTS
 54 set JAVA_OPTS=%JAVA_OPTS% -Djava.class.path="%BASE_PATH%\UDPServer-0.0.1-SNAPSHOT.jar"
 55 set JAVA_OPTS=%JAVA_OPTS% %JVM_MEMORY%
 56
 57 rem 设置startstop
 58 SET START_STOP=-start com.dsdl.server.Main
 59
 60
 61 rem 设置Log文件路径
 62 set OUT_ERR=-out "%BASE_PATH%\service_out.log" -err "%BASE_PATH%\service_err.log"
 63
 64 rem 设置desp
 65 set DESP=-description "UdpServer Service"
 66
 67 rem 设置执行命令行
 68 set runcmd="%JSEXE%" -install UDPSERVER
 69 set runcmd=%runcmd% "%jvmdll%"
 70 set runcmd=%runcmd% %JAVA_OPTS%
 71 set runcmd=%runcmd% %START_STOP%
 72 set runcmd=%runcmd% %OUT_ERR%
 73 set runcmd=%runcmd% -current
 74 set runcmd=%runcmd% "%BASE_PATH%"
 75 set runcmd=%runcmd% %svcmode%
 76 set runcmd=%runcmd% -overwrite
 77 set runcmd=%runcmd% -startup 6
 78 set runcmd=%runcmd% %DESP%
 79 echo %runcmd%
 80
 81 rem 执行安装命令
 82 %runcmd%
 83
 84 rem 启动服务
 85 net start UDPSERVER
 86 if ERRORLEVEL 1 goto js_error
 87
 88 goto end
 89
 90 :no_java
 91 @echo . No java Evn
 92 goto error_exit
 93
 94 :no_peer
 95 @echo . jar is not exist
 96 goto error_exit
 97
 98
 99 :no_jsexe
100 @echo . JavaService.exe is not exist
101 goto error_exit
102
103
104 :js_error
105 @echo . UDPSERVER error
106 goto error_exit
107
108 :error_exit
109
110 @echo .
111 @echo . install fail,can not make UDPServer-0.0.1-SNAPSHOT install for Windows Service
112 @echo .
113 @echo . mingling geshi:
114 @echo .
115 @echo .  %~n0 [-auto / -manual] [-np]
116 @echo .
117 @echo . qizhong:
118 @echo .  -auto (默认) or -manual 参数说明了服务的启动模式:自动或者手动
119 @echo .  -np 批处理命令执行完毕后不暂停
120 @echo .
121 @echo . 比如:
122 @echo .  %~n0 -auto -np
123
124 :end
125 ENDLOCAL
126 @echo .
127 if "%2" NEQ "-np" @pause  

4,最后双击 reg.bat 即可。

提示:必须有权限的登录账号才注册服务。开始我自己的账号,怎么试都不行,后来改成administrator账号,才成功。

转载于:https://www.cnblogs.com/wqj-blog/p/5972393.html

maven javaProject打包发布成服务相关推荐

  1. java 打包成服务_maven javaProject打包发布成服务

    1 @echo off2 3 rem 修改控制台颜色4 color 1d5 6 rem * 使用JavaService将TestTimer安装为Windows服务的脚本7 rem *8 rem * J ...

  2. AutoJs4.1.0实战教程---js文件打包发布成APK文件

    AutoJs4.1.0实战教程---js文件打包发布 首先需要在手机上安装AutojsApp,下载地址:https://wwa.lanzoui.com/imX3Vpchkdc 需要将Js文件打包发布成 ...

  3. django调用java_07.手把手教将深度学习利用Django将模型发布成服务供java调用

    标题 问题 一.python发布成服务 1.先建立一个深度学习模型并训练好 2.建立一个预测方法去调用训练好的模型 3.建立一个Django工程 4.将python利用模型预测的代码放入Django项 ...

  4. linux发布成服务,linux服务简单部署

    1.后台运行 在linux下运行一个程序,打开终端,如果是可执行文件则是 ./binary_name 如果是python脚本,运行命令是python file_name.py 此时的程序运行时依赖于当 ...

  5. 使用Ant 和 Maven打包发布命令行程序(转载)

    From:https://www.linux178.com/Java/maven-release.html 用Java写了一个命令行的小程序,使用的Intellij IDE是IDEA13原来一直使用A ...

  6. 使用pyinstaller将python项目打包发布为exe可执行文件

    pyinstaller模块用于将python项目打包发布成exe文件,以方便地在没有安装python环境的机器上运行.该模块使用 pip install pyinstaller 安装即可. 一.常用参 ...

  7. LS工作日志11/10 打包发布ipa

    工作内容:研究怎么打包部署到苹果手机上 1.Unity打包(ios),在W10系统上只能打包发布成 Xcode文件,之后需要使用到Xcode来发布成IOS版本的APP, Xcode打包 是Mac独有的 ...

  8. Expo大作战(十八)--expo如何发布成独立应用程序,打包成apk或者ipa,发布到对应应用商店...

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  9. java 模块分离部署_GitHub - yangjiu/Mis: 模块接口服务,如何在一个模块内维护其对外暴露的接口(包括打包发布),而不是把接口和接口实现分离到两个不同的模块?...

    MIS 模块接口服务(Module Interface Service) MIS主要解决的问题是如何在一个模块内维护其对外暴露的接口(包括打包发布),而不是把接口和接口实现分离到两个不同的模块. Us ...

最新文章

  1. MySQL(7)数据库中的高级(进阶)语句:VIEW视图、联集和常见计算
  2. iOS 9 学习系列:Storyboard References
  3. sea 配置资料收集
  4. 后高考时代必备APP 社交、旅行都不能少
  5. Java关闭窗口和刷新
  6. 简道云-第3章-表单
  7. [bzoj3481]dzy loves math III 解题报告
  8. 13.3.4 蓝牙程序案例: 蓝牙串口调试助手
  9. Qt 动态加载.qrc文件
  10. 刀友访谈:哪有什么天生的设计大师,有的是长久的喜爱坚持
  11. 苹果apple id无法申请开发者帐号问题
  12. ps怎么对比原图快捷键_Photoshop最常用的10个快捷键,让你修图事半功倍!
  13. 电子计算机的算数,电子计算机的算术/逻辑单元,控制单元合称为____
  14. cmd显示服务器对区域没有权威,查询dns解析服务器地址cmd命令
  15. 淘宝新店运营怎么选品?API接口助您高效选品
  16. po vo pojo domain 区别
  17. c语言上机题库程序设计,c语言上机程序设计题库及答案.pdf
  18. 计算机班音乐课怎么上,如何运用电脑课件进行音乐教学.doc
  19. day25-day26-动态内容和异步编程
  20. 网络尖兵让共享ADSL失去了自由【转】

热门文章

  1. 第十六章——处理锁、阻塞和死锁(3)——使用SQLServer Profiler侦测死锁
  2. Truncate Table 删除表内容避免产生过多日志
  3. java jdk 加密_jdk实现常见的加密算法
  4. [Python] L1-013. 计算阶乘和-PAT团体程序设计天梯赛GPLT
  5. 【操作系统】对换、分页和分段方式-思维导图
  6. python数据驱动登录_python之数据驱动ddt操作(方法三)
  7. 关于Adodb.Stream 的使用说明
  8. redis数据类型 - Hash类型
  9. 今天rpm装glibc和glibc-common版本,出现二个包相互依赖,解决办法
  10. ORACLE——ROWNUM解析(使用ROWNUM大于条件,无法得到任何查询结果)