maven javaProject打包发布成服务

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 FilesJavajre7
 20 rem 判断JRE_HOME是否正确 
 21 if "%JRE_HOME%" == "" goto no_java  
 22 if not exist "%JRE_HOME%injava.exe" goto no_java
 23 rem 设置jvm内存分配情况  
 24 set JVM_MEMORY=-Xms256m -Xmx512m   
 25   
 26 rem 设置jvmdll使用哪一种模式  
 27 SET jvmdll=%JRE_HOME%inclientjvm.dll
 28 if not exist "%jvmdll%" SET jvmdll=%JRE_HOME%inserverjvm.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