题记:项目打包bash脚本

环境准备

  maven版本:3.5.2

    mvn -v  #查看maven的版本信息

  svn版本:1.4.0

    svn --version  #查看svn版本信息

1、update_and_package.sh脚本代码如下:

#!/bin/sh

if [ $# ==  ]; then
echo "[INFO] start update svn open..." echo " ------------------------------------------------------------------------" cd /home/hostname/webapps/project_name svn update echo "[INFO] success update svn open..." echo " ------------------------------------------------------------------------" echo "[INFO] start maven" if [ "$1" == "test" ]; then
mvn test
fi if [ "$1" == "install" ]; then
mvn clean package -Dmaven.test.skip=true
fi if [ "$1" == "package" ]; then
mvn package -Dmaven.test.skip=true
fi if [ "$1" == "clean" ]; then
mvn clean
fi
else
echo "Useage: "
echo " ./update.sh test Test the maven project."
echo " ./update.sh install Install the maven project."
echo " ./update.sh package Package the maven project."
echo " ./update.sh clean Clean the maven project."
echo " ./update.sh compile Compile the maven project."
fi

###注意:脚本将项目打包成jar包

2、rsync_project.sh  更新并执行jar包

#!/bin/bash
ARG=$
VERSION=$
date2=`date +%Y%m%d` if [ -z $ARG ];then
echo "Please input you operation,such as update"
exit
fi case $ARG in update)
mkdir /home/hostname/project_name/$date2
rsync -avz --delete 192.168.1.10::home/hostname/webapps/project_name/target/manage-0.0.-SNAPSHOT.jar /home/hostname/webapps/$date2/manage-0.0.-SNAPSHOT.jar
cp -f /home/hostname/project_name/$date2/manage-0.0.-SNAPSHOT.jar /home/hostname/project_name/webapps/manage-0.0.1-SNAPSHOT.jar
sh /home/hostname/project_name/bin/stop.sh
sleep
sh /home/hostname/project_name/bin/start.sh
tailf - /home/hostname/project_name/logs/nohup.out
;;
*)
echo "operation time: "$date
;;
esac

3、stop.sh脚本

#! /bin/sh

APP_NAME=project_name.jar

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill - $tpid
fi

4、start.sh

#! /bin/sh

JAVA_HOME=/opt/jdk1..0_91

if test -n "${JAVA_HOME}"; then
if test -z "${JAVA_EXE}"; then
JAVA_EXE=$JAVA_HOME/bin/java
fi
fi if test -z "${JAVA_EXE}"; then
JAVA_EXE=java
fi nohup $JAVA_EXE -jar /home/hostname/project_name/webapps/project_name.jar --spring.config.name=application-outter.properties --spring.config.location=/home/hostname/project_name/webapps/application-outter.properties --logging.config=/home/hostname/peoject_name/webapps/log4j2.xml > /home/hostname/project_name/logs/nohup.out &

SVN+MAVEN项目打包的更多相关文章

  1. maven 项目打包 及window下部署到tomcat

    1.maven项目打包 2.将war文件拷贝到tomcat目录webapps下(不要再建目录)3.将必要的jar文件拷贝到tomcat目录libx下 war包 或jar 包 会生成到项目所在路径 的t ...

  2. Storm系列(三):创建Maven项目打包提交wordcount到Storm集群

    在上一篇博客中,我们通过Storm.Net.Adapter创建了一个使用Csharp编写的Storm Topology - wordcount.本文将介绍如何编写Java端的程序以及如何发布到测试的S ...

  3. maven项目打包运行出错问题汇总

    maven项目打包时总会出现莫名其妙的错误,现总结一下. 打包方式:在maven项目底下运行cmd,输入mvn clean package,会自动按pom.xml的配置打成包.使用java -jar ...

  4. eclipse下将maven项目打包为jar(1.不带第三方jar,2.带第三方jar)

    由于项目需要讲maven项目打包为jar包,由于之前没类似经验,百度找例子走了不少弯路,这边随手记录下,网上说的 开发工具:eclipse jar包管理:maven 一般打包出来的jar包分为两种 一 ...

  5. maven 项目打包到本地仓库并且推送到私服仓库

    首先进入到项目文件夹下,然后进入cmd命令窗口,第一步先clean一下,输入命令 mvn clean. 第二步打包到本地,输入命令mvn clean package -Dmaven.test.skip ...

  6. 怎么将maven项目打包成war包

    问题:我在eclipse上能运行,然后我想将这个maven项目打包成war然后放到另外一台机子上(其实是手动放在tomcat的webapp目录中),提供外部访问.现在问题是,一直maven项目打包一直 ...

  7. 如何将maven项目打包成可执行的jar

    如何将maven项目打包成可执行的jar 分类: maven2010-12-17 10:18 10411人阅读 评论(2) 收藏 举报 jarmavenassemblyjava 方法一:将项目及所依赖 ...

  8. eclipse工具maven项目打包文件不是最新修改的

    1.问题描述:maven项目,完成一些功能开发后,在进行打包更新服务器系统时,本地eclipse工具对文件打成jar包操作,更新到服务器上没有修改的效果,包括打包整个工程为一个war包,也是有同样问题 ...

  9. maven项目打包成可执行的jar

    编写功能类: package com.hpay.FileToZkUtil; import java.io.File; import java.io.FileInputStream; import ja ...

随机推荐

  1. Phoenix实现分页查询

    1 利用offset语法,官网的语法 ELECT * FROM TEST LIMIT 1000; SELECT * FROM TEST LIMIT 1000 OFFSET 100; 2 公式如下 SE ...

  2. 第六章· MySQL索引管理及执行计划

    一.索引介绍 1.什么是索引 1)索引就好比一本书的目录,它能让你更快的找到自己想要的内容. 2)让获取的数据更有目的性,从而提高数据库检索数据的性能. 2.索引类型介绍 1)BTREE:B+树索引 ...

  3. selenium:能够模拟人类打开浏览器的爬虫利器

    介绍 selenium相当于是一个机器人,可以模拟人类登陆浏览器的行为,比如点击.填充数据.删除cookie等等.Chromedriver是一个驱动Chrome的程序,使用它才可以驱动浏览器,其实Ch ...

  4. linux学习笔记七

    #文件权限很重要,有些时候删除和新建文件没有权限根本操作不了,linux一切皆是文件,所以必须得了解下权限了. 文件的一般权限 简单的ls -ld 命令就能看到权限,dr-xr-x---补全应该是dr ...

  5. 22_5mybatis多表操作

    1.表之间的关系 一对多 多对一 一对一 多对多 举例: 用户和订单就是一对多 订单和用户就是多对一 一个用户可以下多个订单 多个订单属于同一个用户 人和身份证号就是一对一 一个人只能有一个身份证号 ...

  6. Sereja and Brackets CodeForces - 380C (树状数组+离线)

    Sereja and Brackets 题目链接: CodeForces - 380C Sereja has a bracket sequence s1, s2, ..., *s**n, or, in ...

  7. qt libusb

    https://github.com/Kakadu/Qt_libusb https://github.com/mcvsama/libusbcc/tree/master/src/libusbcc htt ...

  8. java8新特性学习:stream与lambda

    Streams api 对 Stream 的使用就是实现一个 filter-map-reduce 过程,产生一个最终结果,或者导致一个副作用(side effect). 流的操作类型分为两种: Int ...

  9. .Net界面开发必备!DevExpress Blazor UI全新组件助力界面开发

    行业领先的.NET界面控件DevExpress 正式发布了v19.1版本,DevExpress UI for Blazor/ Razor组件附带7个用户界面组件(包括Data Grid和Pivot G ...

  10. jmeter-模板报错-Fatal Error! com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效

    使用的模板不能有中文!!!!检查模板.