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个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
随机推荐
- Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境
目录 单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 二.orm创建表和字段 三.单表增删改查 1.增加数据 2.删除数据 3.修改数据 4.查询数据 四.在Python脚 ...
- JavaMail API 发送电子邮件
现在,我们对JavaMail API及其核心类有一个清晰的概念,现在让我们写这将发送简单的电子邮件,邮件带有附件,电子邮件,HTML内容和电子邮件内嵌图像一个简单的程序. 接着在上述所有情况的基本步骤 ...
- css3继承
不可继承的:display.margin.border.padding.background.height.min-height.max- height.width.min-width.max-wid ...
- 一、微服务概述与SpringCloud
一.微服务概述与SpringCloud 1.微服务与微服务架构 微服务强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题/提供落地对应服务的一个服务应用,狭意的看,可以看作Eclipse里面 ...
- 标准 IO fgets与fputs 对文件的操作
char *fgets(char *s, int size, FILE *stream); int fputs(const char *s, FILE *stream); 使用fgets从流中读取 ...
- Python学习笔记(九)——字符串
# 5.1 字符串的拼接 str1 = '我今天一共走了' num = 1280 str2 = '步' print(str1+str(num)+str2) # 计算字符串长度 print(len(st ...
- 使用multiprocessing模块创建进程
#_author:来童星#date:2019/12/17from multiprocessing import Processimport timeimport os#两个子进程将会调用的两个方法de ...
- 前置控制器一DispatcherServlet
org.springframework.web.servlet.DispatcherServlet 前言 DispatcherServlet是SpringMVC的核心控制器,就像是SpringMVC的 ...
- BASS HOME
http://www.un4seen.com/
- Delphi 时间函数:关于时间精确的几个函数和方法
//取毫秒级时间精度(方法一): var t1,t2:int64; r1:int64; begin t1:=GetTickCount;//获取开始计数 WINDOWS API sleep(1000); ...