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

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

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

解决方法:

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

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

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

扫描二维码关注公众号,回复: 5163271 查看本文章

shell文件内容:

echo "htllo test"

java shell.PackageTest

摆放位置:

报错信息

报错原因:

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

如下图所示:

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

 

报错原因:

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

总结:

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

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

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/zhougongjin/p/10366813.html