2 coolbatter coolbatter 于 2016.03.04 10:46 提问

JAVA连接远程服务器执行shell脚本启动TOMCAT权限问题

JAVA本地连接远程linux服务器执行shell脚本提示:
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

注:脚本在服务器可以运行,连接用的也是root账户,是不是权限问题,还是其他,希望哪位高手能帮忙下看看是什么问题。

下面是SHELL脚本的一段代码:
start()
{

echo "============== TOMCAT WILL BE RESTART NOW ==================="
cd /opt/apache/webapps/

    rm -rf test/

    cd /opt/apache-activity/bin/

 ./startup.sh

  echo "STARTING TOMCAT complete.... ...."
    sleep 5

}

3个回答

fengshenyue
fengshenyue   2016.03.04 11:03

没有定义JAVA-HOME或者JRE_HOME环境变量

coolbatter
coolbatter 远程服务器已经定义,跑脚本是没问题的
2 年多之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.03.04 13:00

明显是没有java环境变量,,

coolbatter
coolbatter 本地连接远程服务器,执行SHELL脚本,提示没有JAVA环境变量,但服务器是有设置的,单独跑脚本是可以的
2 年多之前 回复
coolbatter
coolbatter   2016.03.04 14:55

自己解决了,脚本里面要重新导入环境变量,也就说服务器设置了环境变量,脚本里面也需要导入引用

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
shell小白 想玩自动化部署,无密码ssh 登录远程服务器,执行scp命令传送war包 并重启tomcat。
一个演示demo,首先scp命令 发送 test.clss 到远程服务器登录目录(可以指定目录,真实环境应该指定到tomcat安装目录的webapps 文件夹目录下),并会ssh连接登录到服务器。如果没有配置无密码shh登录会要求你输入两次密码。 #!/bin/sh cd /usr/local/software/apache-tomcat-7.0.76/bin bash ./shutdown.
java怎么调用远程服务器上的shell脚本 二参数调用远程
本节主要是在上一节基础上进行讲解 java带参数调用远程服务器上shell脚本,是在【java怎么调用远程服务器上的shell脚本(一)】基础上开发的。 修改【java怎么调用远程服务器上的shell脚本(一)】中的代码,如下: 相关推荐 《java怎么调用远程服务器中的Shell脚本 一》
远程运行shell脚本
ssh执行远程操作 命令格式 复制代码 代码如下:ssh -p $port $user@$p 'cmd' $port : ssh连接端口号 $user: ssh连接用户名 $ip:ssh连接的ip地址 cmd:远程服务器需要执行的操作准备工作 基于公私钥认证或者用户名密码认证能确保登录到远程local2服务器(有点基本运维知识的人做这个事情都不是问题) cmd如果是脚本,注意绝
java 远程调用shell脚本demo
首先添加依赖: org.jvnet.hudson ganymed-ssh2 build210-hudson-1
Java实践 — SSH远程执行Shell脚本
SSH是Secure Shell的缩写,一种建立在应用层和传输层基础上的安全协议。SSH在连接和传送过程中会加密所有数据,可以用来在不同系统或者服务器之间进行安全连接。SSH提供两种的安全验证方式:基于密码的认证和基于密匙的认证。其中,基于密码的认证比较简单,只要知道远程主机的用户名和密码,就可以进行登录。基于密匙的认证比较麻烦,而且连接比较耗时,这里不详细介绍。 有很多基于SSH协议的客户端,例如:PuTTY、OpenSSH、Xshell 4等,可以远程连接几乎所有UNIX平台。同时,可以
Jenkins使用shell脚本部署到远程服务器步骤
在使用Jenkins进行持续集成时发现,并不是所有的项目直接放在tomcat的webapps下部署运行的,本文主要讲述Jenkins如何使用shell脚本部署部署到远程服务器的方法 此处已web容器Linux+tomcat为例 准备工作: 1>完成Jenkins服务环境的搭建,此处不再详述,不会的童鞋可参考下面的博客 http://www.cnblogs.com/zz0412/ta
Java实现远程执行SHELL
Java实现远程执行SHELL, JAVA实现远程登陆执行shell脚本。上传文件到远程服务器,下载远程服务器资源。 ShellExecutor exe = new ShellExecutor("192.168.1.1", 22, "USERNAME", "PASSWORD"); if (exe.login()) { ResultEntity resultEntity = exe.execute("ls -ls"); if (resultEntity.isExecuteSuccess()) { System.out.println("结果:" + resultEntity.getResult() + "|状态:" + resultEntity.getStatusCode()); } else { System.err.println("执行出错了-->" + resultEntity.getErrorMsg()); } } else { System.err.println("登陆失败"); }
linux 下使用expect编写shell 脚本交互访问远程服务器
linux 下使用expect编写shell 脚本交互访问远程服务器 使用命令行登陆远程服务器一般需要ip地址以及登陆密码等,每次都手动输很不方便,expect可以满足自动输入密码。 首先安装expect 然后编写脚本 然后修改权限 最后运行脚本
linux使用shell脚本管理其他服务器Tomcat启动停止、自动发布
首先我们使用A机器192.168.40.152 进行管理服务器 B机器192.168.40.142  C机器192.1683.40.167 两台服务器上有tomcat:/data/server/apache-tomcat/apache-tomcat8881/ 我们采用自动登录将A机器上的tomcatRestat.sh tomcat执行启动停止的脚本远程自动传输到 B机器和C机器上、首先每次先登录
用ant执行远程linux脚本
用ant执行远程linux脚本