Shell脚本开发过程中遇到的问题处理

1. 执行shell脚本报  Unsupported major.minor version 52.0

报错原因:java文件jdk和服务器上的jdk不匹配,

解决方法:

a.查看当前服务器用的jdk是哪个版本:java -version

b.修改本地代码编译版本,如下图所示:

 

 

 

 

2.shell调有package修饰的类的时候,报NoClassDefFoundError

shell文件内容:

echo "htllo test"

java shell.PackageTest

摆放位置:

报错信息

 

报错原因:

这个java文件是带pacakge的,文件展示时候就应该把package文件夹加进去。

如下图所示:

 

 

3.shell调java传递最后一个参数是字符串,接收的却是数字型

 

报错原因(最初解决方案,不完善):

最后一个参数不能是字符串,把这个参数放到前面,把数值型参数放到最后,问题就解决了。

真实报错原因:

脚本中存在一句REPORT_TIME="$3 $4:00",REPORT_TIME 接收了两个参数,给java传一个变量REPORT_TIME,java main方法args数组接收了两个参数。

总结:

看到java main方法这边接受的最后一个参数不对,

a.先按正常逻辑把整个代码看一遍,看看是否哪里出现了逻辑错误。

b.可以从很多方面去做尝试,比如

 在shell脚本在执行调用java文件前一句先打印这个参数看看对不对

 把这个参数放到前面试一下,看看结果是否正常

   在后面添加几个参数,看看是不是参数shell会对参数个数作限制

 

 

 

4.有时候使用putty和FileZilla连接不上服务器:

分析原因:

可能是网络的问题,自己家里的网络(移动送的),偶尔会出现连接不上的问题。

解决方案:

切换网络,实在没有合适的网络的话,那就使用手机热点。

 

posted on 2019-02-12 19:36  周公  阅读(516)  评论(0编辑  收藏  举报

导航