一、jdk

1、安装jdk

2、查看

摘自:(29条消息) Linux如何查看JDK的安装路径_fanyuna的博客-CSDN博客_linux查看jdk安装位置

1:echo $JAVA_HOME

使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径

[root@localhost ~]# java -version

java version "1.7.0_65"

OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)

OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

[root@localhost ~]# echo $JAVA_HOME

2:which java

首先要申明一下which java是定位不到安装路径的。which java定位到的是java程序的执行路径。网上的资料都是人云亦云,完全不去思考。那么怎么定位到java的安装路径呢?下面我们来看看例子吧,如下所示:

[root@localhost xhf]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
[root@localhost xhf]# which java
/usr/bin/java
[root@localhost xhf]# ls -lst /usr/bin/java
0 lrwxrwxrwx. 1 root root 22 10月 13 2021 /usr/bin/java -> /etc/alternatives/java
[root@localhost xhf]# ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 71 10月 13 2021 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/bin/java
[root@localhost xhf]# cd /usr/lib/jvm/
[root@localhost jvm]# ll
总用量 0
drwxr-xr-x. 4 root root 100 10月 13 2021 java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
drwxr-xr-x. 3 root root 17 4月 11 2018 java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
lrwxrwxrwx. 1 root root 21 10月 13 2021 jre -> /etc/alternatives/jre
lrwxrwxrwx. 1 root root 27 10月 13 2021 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx. 1 root root 35 10月 13 2021 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
lrwxrwxrwx. 1 root root 52 10月 13 2021 jre-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64 -> java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64/jre
lrwxrwxrwx. 1 root root 27 10月 13 2021 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx. 1 root root 35 10月 13 2021 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx. 1 root root 49 10月 13 2021 jre-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64 -> java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre
lrwxrwxrwx. 1 root root 29 10月 13 2021 jre-openjdk -> /etc/alternatives/jre_openjdk

二、常用命令

参考:

#启动命令:(29条消息) 全网最全Linux 运行jar包的几种方式_一只小程序员啊的博客-CSDN博客_linux运行jar包
#启动脚本:(29条消息) linux下编写启动jar包脚本_bj_wasin的博客-CSDN博客_linux启动jar包脚本
#启动脚本:(28条消息) linux系统启动jar包的脚本_辣妹子很怕辣的博客-CSDN博客_linux启动jar包脚本

授权命令:

chmod u+x linux.sh

启动jar 包,不打印日志,关闭连接后应用不关闭

nohup java -jar spring-boot-demo.jar > /dev/null 2>&1 &

三、整理:

1、启动脚本传入参数:

编辑脚本:

notepad++右下角将windows模式改为linux模式在上传

(29条消息) linux 未预期的符号 `$‘{\r‘‘ 附近有语法错误_Mr-Wanter的博客-CSDN博客_未预期的符号“$'{\r'”附近有语法错误

脚本名称: linux.sh

脚本内容:

echo $1
echo $2
exit 0

示例:

[root@localhost xhf]# ./linux.sh hehe haha
hehe
haha

2、脚本中声明变量

脚本内容:

AppName=xhf_recored.jar
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/bin/java
echo "$AppName"
echo  "$JAVA_HOME"
exit 0

示例:

 

 
#PID=`ps -ef |grep java|grep $1|grep -v grep|awk '{print $2}'`
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`

3、方法中调用变量

脚本内容

AppName=xhf_recored.jar
PID=''
function query(){
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
}
query
echo "$AppName"
echo "pid:$PID"
exit 0

示例:

[root@localhost xhf]# ./linux.sh
xhf_recored.jar
pid:5208

4、脚本中选择结构:

脚本内容:

AppName=xhf_recored.jar
PID=''
function query(){
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
}
function start(){
if [ x"$PID" != x"" ]; then
echo "$AppName is running..."
echo "pid:$PID"
else
echo "Start $AppName success..."
fi
}
query
start
exit 0

示例:

[root@localhost xhf]# ./linux.sh
xhf_recored.jar is running...
pid:5208

linux下启动jar包的更多相关文章

  1. Windows/Linux下引用jar包,并用javac/java编译运行

    Windows/Linux下引用jar包,并用javac/java编译运行,有需要的朋友可以参考下. 1> Windows 假设要引用的jar放在D:/test目录下,名字为t1.jar, ja ...

  2. Linux下部署 jar包

    1.windows和linux执行jar命令是一样的,java -jar xxx.jar 2.使用nohup命令将jar程序设置成后台运行,运行日志输出到nohup.out,关闭窗口无影响 nohup ...

  3. Linux下运行jar包

    方法① 1.vim xxx.jar 2.配置程序入口:找到MANIFEST.MF,添加Main-Class:+空格+package.class 3.引入第三方jar包:①在MANIFEST.MF中加入 ...

  4. linux 下启动jar小程序

    下面是我的三个可运行jar程序 1.启动 采集话单文件应用程序 nohup java -jar gather.jar > logs/gather/console.out & 2.启动   ...

  5. linux下SpringBoot Jar包自启脚本配置

    今天整理服务器上SpringBoot项目发现是自启的,于是想看看实现.翻看离职同事的交接文档发现一个***.service文件内容如下 [Unit] Description=sgfront After ...

  6. linux下在jar包中找类是否存在

    find /usr/lib -name "*.jar" -exec grep -Hsli 类名 {} \;

  7. linux 下java jar包的方法

      test.java 和 example.jar 在同一目录:并且test.java引用了example.jar 首先编译test.java: javac -cp example.jar test. ...

  8. linux脚本执行jar包运行

    以下为linux下运行jar包的脚本(只需替换jar包名称): #!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 APP_NAME=ruoyi-admin.jar cd `di ...

  9. linux 下启动java jar包 shell

    linux 下启动java jar包 shell #!/bin/sh JAVA_HOME=/usr/local/jdk1.6.0_34/bin/javaJAVA_OPTS="-Xmx256m ...

  10. linux下shell脚本启动jar包

    本文采用的jar包是通过idea下maven打包的springboot项目. 写这个shell脚本是为了在linux下方便启动jar包时不用输入太多的shell命令,将启动脚本的一系列shell命令整 ...

随机推荐

  1. SPOJ GCDMAT - GCD OF MATRIX

    简要题意 给出三个整数 \(T,n,m\),\(T\) 组询问,每组询问给出四个整数 \(i_1,j_1,i_2,j_2\)(数据保证 \(i_1,j_1\leq n\ \ i_2,j_2\leq m ...

  2. 洛谷P8508 做不完的作业【题解】

    事先声明 此题解为一篇洛谷题解的详细补充,这里(我才不告诉你我这道题想了好久) 题目大意 有 \(n\) 个任务,记作 \(t\) 数组,由于主人公很懒,所以他每天都要睡觉,每一天都有 \(x\) 小 ...

  3. 打包iOS App并上架到TestFlight测试

    开发者账号 首先需要注册一个开发者账号,不然什么都免谈.在手机Apple Developer上注册给钱就行了,个人开发者一年688元. 打包App App开发好后,就可以通过XCode打包.打包前选好 ...

  4. Swagger的基本使用

    Swagger简介和使用 使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,以及在线接口调试页面等等. ...

  5. .NET周报【1月第4期 2023-01-28】

    由于微信公众号排版问题,建议大家在PC端浏览. 国内文章 C# 很少人知道的科技 https://blog.lindexi.com/post/C-很少人知道的科技.html 本文来告诉大家在C#很少有 ...

  6. django框架之drf:04、序列化器常用字段及参数,序列化器高级用法之source、定制字段数据的两种方法、多表关联反序列化的保存、ModelSerializer的使用

    Django框架之drf 目录 Django框架之drf 一.序列化器常用字段及参数 1.常用字段 2.常用字段参数 3.字段参数针对性分类 二.序列化器高级用法之source 1.定制字段名 三.定 ...

  7. SOFAJRaft源码阅读(伍)-初识RheaKV

    SOFAJRaft的SOFAJRaft-RheaKV 是基于 SOFAJRaft 和 RocksDB 实现的嵌入式.分布式.高可用.强一致的 KV 存储类库.SOFAJRaft-RheaKV 集群主要 ...

  8. 2023牛客寒假算法基础集训营5 A-L

    比赛链接 A 题解 知识点:前缀和,二分. 找到小于等于 \(x\) 的最后一个物品,往前取 \(k\) 个即可,用前缀和查询. 时间复杂度 \(O(n + q\log n)\) 空间复杂度 \(O( ...

  9. 动态代理-cglib分析

    生成代理类文件的方式 jvm添加此启动参数,后面就是代理类class生成的地址 -Dcglib.debugLocation=~/baldhead/java/dynamic-proxy-cglib/sr ...

  10. QSqlTableMode | QTableWidget 清除数据

    当我使用QTableView绑定QSqlTableModel的时候,我需要清除数据,但我又不能使用QSqlTableModel::clear(),因为使用clear就会把表名等一些设置好的数据清除掉. ...