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个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
随机推荐
- MySQL数据库(六) —— SQL注入攻击、视图、事物、存储过程、流程控制
SQL注入攻击.视图.事物.存储过程.流程控制 一.SQL注入攻击 1.什么是SQL注入攻击 import pymysql conn = pymysql.Connect( user="roo ...
- JS设置浏览器缓存,以及常用函数整理
//设置缓存 function set_cache(key,value){ if(key=='') return false; localStorage.setItem(key, value); } ...
- thinkphp5.1、thinkphp6
下载原装:https://packagist.org/packages/topthink/think composer create-project topthink/think tp 6.0.*-d ...
- 结对编程-Core 第12组 [pb15061359+pb15061351]
一.项目要求 1.输入题目数量,生成操作数为3~5个的四则运算题目 2.输入上限值控制生成的操作数的最大值以及结果的最大值 3.输入支持的操作符类型:加.减.乘.除.乘方.括号 4.输入支持的操作数类 ...
- OneDrive一直后台占用CPU的一种解决办法
系统版本:Windows 7 ultimate x64 Onedrive版本:17.3.6998.0830 最近发现Onedrive一直在后台占用15%左右的CPU,很是觉得奇怪,网上的解决方案是删除 ...
- log4cplus TimeBasedRollingFileAppender
参考自:http://blog.csdn.net/u010607621/article/details/54944696 对于TimeBasedRollingFileAppender 这个日志appe ...
- 笔记51 Mybatis快速入门(二)
Mybatis的CRUD 1.修改配置文件Category.xml,提供CRUD对应的sql语句. <?xml version="1.0" encoding="UT ...
- 实战ZeroMQ的PUSH/PULL推拉模式
原文地址: http://ju.outofmemory.cn/entry/235976
- java内省Introspector
大纲: JavaBean 规范 内省 一.JavaBean 规范 JavaBean —般需遵循以下规范. 实现 java.io.Serializable 接口. javaBean属性是具有getter ...
- 好久不见的博客咯!——没有可持久化的可持久化treap
每每想要去了解可持久化treap这个好写好调的东东,然后就发现网上只有一个人的——SymenYang的!在此我必须得把他批判一番——写方法不贴代码是什么心态!而且写出来的是有问题的呀!害人不浅! 好吧 ...