比如脚本中下面这一段

ssh $i "java -jar /applog/$PROJECT/$APPNAME --server.port=$SERVER_PORT >/dev/null 2>&1 &"
免密登录linux服务器,执行jar包,

通过ssh执行java程序,涉及到一个找不到JDK路径的问题,脚本执行会不成功。

解决方案:

(1)第一种方式

在~路径下ll -a会发现一个隐藏文件.bashrc

[kevin@hadoop101 ~]$ cat /etc/profile >> .bashrc
[kevin@hadoop101 ~]$ source /etc/profile
把JDK路径追加到.bashrc文件下,source一下即可(集群每台虚拟机都要执行一次)。

(2)第二种方式

在脚本下写JDK全路径

JAVA_BIN=/bigdata/jdk1.8.0_152/bin/java
.................
ssh $i "$JAVA_BIN -Xms32m -Xmx64m -jar /applog/$PROJECT/$APPNAME --server.port=$SERVER_PORT >/dev/null 2>&1 &"

(3)第三种方式

在脚本下引号内把/etc/profile source一下

ssh $i "source /etc/profile; java -jar /applog/$PROJECT/$APPNAME --server.port=$SERVER_PORT >/dev/null 2>&1 &"

---------------------
作者:攻城狮Kevin
来源:CSDN
原文:https://blog.csdn.net/wx1528159409/article/details/87893900
版权声明:本文为博主原创文章,转载请附上博文链接!

Shell写脚本关于ssh执行jar包,需要刷新JDK路径的问题的更多相关文章

  1. eclipse导出maven工程的可执行jar包

    一.eclipse导出maven工程的可执行jar包 建立两个maven工程 ZKServer 和ZKClient 注意:用maven进行开发管理的话,默认的打出来的jar包是不能运行的,需要在pom ...

  2. Maven打包可执行Jar包方式

    第一步:pom.xm中的build标签下加入maven插件配置,打包生成可执行jar包方式Maven中的打包方式更换为 <packaging>jar</packaging> b ...

  3. eclipse生成【带有外部jar包】的java可执行jar包

    之前有写过一篇使用eclipse生成java可执行jar包,但是最近的一次使用中无论如何都不成功,当双击执行打成的jar时,弹出如下错误: could not find the main class: ...

  4. SpringBoot+Maven多模块项目(创建、依赖、打包可执行jar包部署测试)完整流程

    一,创建Maven多模块项目先建立外层父工程         File →new →project  选择Spring Initializr          Next下一步到以下页面 工程结构如下 ...

  5. JAVA生成(可执行)Jar包的全面详解说明 [打包][SpringBoot][Eclipse][IDEA][Maven][Gradle][分离][可执行]

    辛苦所得,转载还请注明: https://www.cnblogs.com/applerosa/p/9739007.html  得空整理了关于java 开发中,所有打包方式的 一个操作方法, 有基于ID ...

  6. spring boot mybatis 打成可执行jar包后启动UnsatisfiedDependencyException异常

    我的spring boot + mybatis项目在idea里面执行正常,但发布测试环境打成可执行jar包后就启动失败,提示错误如下: [ ERROR] [2018-08-30 17:23:48] o ...

  7. Gradle 打可执行jar包

    初次使用Gradle,想和maven一样,把gradle项目打成可执行jar包,具体步骤: 1.下载gradle 版本,并配置环境变量, 下载地址:https://gradle.org/release ...

  8. 使用原生Java代码生成可执行Jar包

    最近想做一个功能,就是把我们编译后的字节码及其资源文件打包成一个可执行的jar包,在装有jre的机器上双击就能运行. 首先是我们需要选择哪些字节码和文件需要打包到文件中,这个我们用JFileChoos ...

  9. java -jar 执行jar包出现 java.lang.NoClassDefFoundError

    我用idea工具将自己开发java程序打成一个可执行的jar包,当然用eclipse或者直接用jar命令行都无所谓,本质都是将程序归档到一个压缩包,并附带一个说明清单文件. 打jar的操作其实很简单, ...

  10. 将 Spring boot 项目打成可执行Jar包,及相关注意事项(main-class、缺少 xsd、重复打包依赖)

    最近在看 spring boot 的东西,觉得很方便,很好用.对于一个简单的REST服务,都不要自己部署Tomcat了,直接在 IDE 里 run 一个包含 main 函数的主类就可以了. 但是,转念 ...

随机推荐

  1. 修复右键批量打印PDF文件的功能

    bat文件内容如下, 直接右键管理员运行即可. @echo off rem "功能描述:修复右键批量打印PDF文件的功能" rem "制作人:赵龙" rem & ...

  2. STP协议-进阶

    一 STP的选举规则1.在交换网络中选举一个根桥(Root Bridge)比较Bridge ID桥ID(优先级+MAC地址)越小越优 为了确保交换网络的稳定,建议提前规划STP组网,并将规划为根桥的交 ...

  3. PaddlePaddleOCR安装教程

    1.首先下载并安装python3.7.8 链接地址: 注:安装时Add path勾选 2.进入命令提示符界面 3.升级pip版本 python -m pip install --upgrade pip ...

  4. PowerShell学习笔记二_变量、Select、Foreach、where、自动变量

    变量声明/定义变量使用$作为前缀,例如:$A.$var等.定义一:$mysqlservice=Get-Service -Name mysql ,获取mysql服务对象获取所有服务$services=G ...

  5. https原理(七)其他

    1 fiddler原理+fiddler为什么抓chrome而不能抓curl和httpclient?fiddler为什么能篡改报文? 中的ssl pinning 本质即是双向ssl https://zh ...

  6. [*]Quadratic Residual Networks: A New Class of Neural Networks for Solving Forward and Inverse Problems in Physics Involving PDEs

    Accepted by SIAM International Conference on Data Mining (SDM21) 本文提出了二次残差网络,通过在应用激活函数之前,添加二次残差项到输入的 ...

  7. SAP管理员SAP*和DDIC被锁定后如何解锁或重置密码

    SAP*初始化密码是06071992或passDDIC默认密码为19920706 环境信息:win server2003,SQL Server2008 R2 账号信息存在于数据库usr02表中,1.删 ...

  8. 关于centos防火墙的一些问题

    防火墙有两种:firewall iptables. 两个都需要设置

  9. Echart 使用

    查看前端面试题小程序 大量面试题和答案,请微信查看 // var list = [1,1,54,5,5,85,8,8,5,5,8,8,85,8,8,5,5,85,88,85,8,88,8,8,8,8, ...

  10. 每日一抄 Go语言使用select切换协程

    看了两篇博客,一个说:在任何一个 case 中执行 break 或者 return,select 就结束了. 另一个说:break只能跳出select中的一个case 验证了一下,不知道对不对,感觉是 ...