Linux利用Shell脚本部署jar包项目的完整步骤

一.安装JDK

查看电脑的操作位数:
uname -ar

2017 x86_64 x86_64 x86_64 GNU/Linux
如果这里显示是64位的就下载相应64位的包

jdk的下载地址,推荐下载tar.gz的包
www.oracle.com/technetwork

下面开始正式的安装jdk

1、上传jdk的安装包到 /root

jdk-8u131-linux-x64.tar.gz

2、确认系统是否已经安装过jdk

rpm -qa|grep jdk
rpm -e --nodeps 软件名称 //如果检查到有安装就执行卸载命令

3、解压缩jdk的安装包到指定目录

tar -xvf jdk-8u131-linux-x64.tar.gz -C /usr/local/

4、进入解压缩目录

cd /usr/local

5、修改jdk的文件夹名称

mv jdk1.8.0_131 jdk

6、配置环境变量

修改环境变量配置文件:

vi /etc/profile

点 i键进入编辑模式

跳转到最后一行,增加如下内容,注意这里的jdk请和你当初安装jdk的路径保持一致

#java runtime seting
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=$JAVA_HOME/lib:.
export PATH=$JAVA_HOME/bin:$PATH

按ESC 输入:wq  保存退出

7、重新加载环境配置

source /etc/profile

8、测试JDK安装是否ok

java -version

9、编写hello.java

vi Hello.java

class Hello{
	public static void main(String[] args){
	System.out.println("hello,java");
	}
}

然后ESC :wq退出

vi /etc/profile i编写

javac Hello.java

二.部署jar包

1.创建data,然后在建立test目录,按照如下的结构建立相关的文件夹以及文件

目录的结构为:

app下面放置主要的jar包,如myjar,下面是相关的restart.sh的内容:

#!/bin/bash

base_home='/data/test'
app_name='myjar'

pid=`ps -ef|grep ${app_name}|grep -v grep|grep -v restart|awk '{print$2}'`
if [ -n "${pid}" ] ;then
 kill -9 ${pid}
 sleep 10
fi

gclog_file=$base_home/log/gc.log
dump_dir=$base_home/heapdump
errorlogs_dir=$base_home/log

java -Xmx1g -Xms1g -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:GCLogFileSize=128M -XX:NumberOfGCLogFiles=1 -Xloggc:${gclog_file} -XX:HeapDumpPath=${dump_dir} -jar $base_home/app/${app_name}.jar --spring.config.location=$base_home/config/application.yml >> $base_home/log/${app_name}_$(date +'%Y%m%d').log &

这里需要注意的是{app_name}.jar这个可能会包如下的错误:

Error: Unable to access jarfile /app/myjar.jar

这里可能需要更改为绝对路径,如下:

/datat/test/app/${app_name}.jar

访问相关的路径:(这里根据你的jar的相关端口来修改

http://ip:8080/

查看日志的路径:

cd /log
这里下面会显示相关的jar包的名称和日期的log文件 如:myjar_20190530.log

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

(0)

相关推荐

  • 详解spring boot 以jar的方式启动常用shell脚本

    用spring boot框架做的项目,将第三方包全部打在jar里面,通过shell脚本启动和停止服务,常用的shell脚本模板如下: #!/bin/bash JAVA_OPTIONS_INITIAL=-Xms128M JAVA_OPTIONS_MAX=-Xmx512M _JAR_KEYWORDS=monitor-alarm-task-1.0-SNAPSHOT.jar APP_NAME=monitor-alarm-task APPLICATION_FILE=/opt/scpip_monitor/a

  • shell脚本运行java程序jar的方法

    在UBuntu上部署项目的时候,我们往往通过一段shell来启动程序,甚至是通过crontab定时任务来定时的调用java程序,但是很奇怪的一个问题就是,比如我写了一个如下的shell脚本: #!/bin/sh export mypath=/root/project/wishnomal java -Xmx3000m -Xms3000m -server -d64 -Dfile.encoding=UTF-8 -Dfetch.threads=300 -classpath $mypath/:$mypat

  • Shell执行/调用Java/Jar程序例子的实例详解

    Shell执行/调用Java/Jar程序例子的实例详解 前言: 最近要写一个独立的Java程序去监控Hadoop和Oozie,通过Shell去调用.写代码到现在也4年多了,貌似就从来没在生产环境中写过一个独立的Java程序,不是部署到Tomcat就是直接丢给Hadoop.于是参考Hadoop等开源环境,自己写了一个demo,并且可以通过Ant打包生成可运行的程序.所以这里有三步:Java程序,Shell,Ant      1.首先建立Java程序,由于是例子,所以这里很简单,只是输出传入参数的个

  • Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法

    废话不多说了,先给大家上代码,具体代码如下所示: #!/bin/bash cd `dirname $0` CUR_SHELL_DIR=`pwd` CUR_SHELL_NAME=`basename ${BASH_SOURCE}` #修改这里jar包名即可 JAR_NAME="xxxxxxxxxxxx.jar" JAR_PATH=$CUR_SHELL_DIR/$JAR_NAME #JAVA_MEM_OPTS=" -server -Xms1024m -Xmx1024m -XX:Pe

  • Linux下shell通用脚本启动jar(微服务)

    vim app_jar.sh #!/bin/bash #source /etc/profile # Auth:Liucx # Please change these parameters according to your real env. # set Java Home: Remember that dolphin only supports JDK8! JAVA_HOME=/usr/java/jdk1.8.0_162 # application directory cd `dirname

  • Linux启动jar包的shell脚本

    背景: 项目设备端需要运行jar包程序与服务端进行socket连接并发送数据,每次启动进程时,都需要在Linux终端输入启动jar包的命令,比较繁琐,随之尝试将启动jar包的命令写入shell脚本文件中,实现操作shell脚本启动jar包程序的功能. 编写的socdev.sh脚本文件中命令如下: #启动命令所在目录 HOME='/home/pi/Desktop/java' #获取mac地址(唯一的) mac=`ifconfig | grep eth0 | awk '{print $5}'` st

  • Linux利用Shell脚本部署jar包项目的完整步骤

    一.安装JDK 查看电脑的操作位数: uname -ar 2017 x86_64 x86_64 x86_64 GNU/Linux 如果这里显示是64位的就下载相应64位的包 jdk的下载地址,推荐下载tar.gz的包 www.oracle.com/technetwork- 下面开始正式的安装jdk 1.上传jdk的安装包到 /root jdk-8u131-linux-x64.tar.gz 2.确认系统是否已经安装过jdk rpm -qa|grep jdk rpm -e --nodeps 软件名称

  • Linux中自定义shell脚本启动jar包的方法

    一键启动.停止.重启 java项目 创建.sh文件 vi XXX.sh 编写shell脚本 #!/bin/sh port=8080 #定义变量等号左右不能有空格 jar_name=/opt/oaclou/XXX.jar #运行脚本提示信息 tips(){ echo "-------------------------------------" echo "" echo "项目端口: ${port}" echo "项目地址: ${jar_

  • Jenkins部署war包和部署jar包的详细步骤

    零.配置Tomcat 默认情况下Tomcat是没有配置用户角色权限的 但是,后续Jenkins部署项目到Tomcat服务器,需要用到Tomcat的用户,所以修改tomcat以下配置, 添加用户及权限 vi /opt/tomcat/conf/tomcat-users.xml # 内容如下: <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="man

  • Maven中利用assembly插件打包jar包

    在maven中有几种方法打包项目,在之前的一篇博客中[Java]打包Jar包并用脚本执行,已经介绍了怎么在没有maven插件的情况下,怎么打包项目,并执行的. 而本篇则是在上一篇文章[Maven]Maven系列(一)——环境安装配置和新建maven项目之后,总结一下怎么使用maven插件进行打包项目.maven中有多种插件提供了打包功能,分别是maven-jar-plugin(用来打包成jar包),maven-war-plugin(打包成war包).maven-assembly-plugin.这

  • 使用Docker部署war包项目的实现

    使用Docker部署war,必须要用容器,我们就用tomcact容器,其实都是将war包丢到tomcat的webapps目录下,tomcat启动的情况下会自动解压war包. 一种是在Docker中安装tomcat容器的镜像,然后把war包丢到tomcat镜像下webapps中即可.但是如果tomcat关闭了,其webapps下的包就会消失:二就是利用挂载,还是安装tomcat容器的镜像,但是不把war包丢到tomcat下的webapps中,直接创建一个外部文件夹,将这个外部文件夹跟wabapps

  • java 一键部署 jar 包和 war 包

    目录 java 一键部署 jar 包和 war 包 一.创建打包命令 gateway-package.bat 二.创建启动文件 gateway.xml 三.一键打包并部署脚本 gateway-deploy.bat 文件内容 四.双击打包部署 bat 文件 gateway-deploy.bat 五.执行 vue 打包并且上传部署 六.安装 7z 压缩工具并配置系统环境变量 七.创建上传部署文件 webConfig.xml 九.双击执行部署 vue-deploy.bat java 一键部署 jar

  • window和linux通过tomcat9手工部署war包的方法

    亲测在windows环境和linux环境不一样 Windows 第1步: 用maven打war包 (假如得到的war包名为: hello-back.war) 第2步: 把war包拷贝到tomcat安装的webapps目录下 第3步: 启动tomcat (可以在conf/server.xml修改端口号) 第4步: 浏览器访问就好了127.0.0.1::8080 linux 同样的操作 同样的部署,没有样式,什么鬼 不急不急... 这里有个问题,它默认根目录是要加项目名的,如上加了hello-bac

  • shell脚本编写ping包及arp的监控并发送短信功能

    下面给大家分享shell脚本编写ping包及arp的监控并发送短信功能,具体代码如下所示: #!/bin/bash NOW="`date +%Y%m%d-%H:%M:%S`" PHONES=15134567893 IP=10.100.8.78 GATEWAY=10.100.30.1 #ping失误的短信内容 content1="host is failed" #arp主机网关失误的短信内容 content2="GW is failed" #pin

  • Linux 在Shell脚本中使用函数实例详解

    Linux 在Shell脚本中使用函数实例详解 Shell的函数 Shell程序也支持函数.函数能完成一特定的功能,可以重复调用这个函数. 函数格式如下: 函数名() { 函数体 } 函数调用方式: 函数名 参数列表 实例:编写一函数add求两个数的和,这两个数用位置参数传入,最后输出结果. root@ubuntu:/home/study# vi test3 #!/bin/bash add(){ a=$1; b=$2; z=`expr $a + $b`; echo "The sum is $z&

  • 利用Shell 脚本解决DDOS攻击问题

    思路:主要利用 awk ,if结构,sort,uniq #!/bin/bash FilePath="access.log" awk '{print $1}' $FilePath | sort -rn | uniq -c >ip_count.log cat ip_count.log | while read text ####读取文件内容,以行为单位 do echo $text count=`echo $text | awk '{print $1}' ` ip=`echo $tex

随机推荐