java. lang. illegalArgumentException错误
错误:java.lang.IllegalArgumentException非法论据异常,也可称为非法形参异常。argument不是参数的意思,是争吵,争论;论据,经常用args用作形参。
在SSM动态javaweb服务器框架中,经常看到这个异常,很多人说这是参数异常,检查自己在ioc容器中配置的参数是否正确,其实这是项目使用的Java编译器(即Javacompiler)使用的jdk版本和Java的运行环境(即jreJavaruntimeenvironment)版本不匹配造成的。
如果jdk使用的是1.7,jre使用的是1.8,就会出现这一异常。即使是低版本的编译器,高版本的运行环境,也会出现这一异常。
解决方法如下:
***:修改Java compiler和jre
1、在eclipse-window-preference-java的里面的installed JREs和Compiler
2、Compiler就是修改编译器的Installed JREs就是改变运行环境。按道理说只要jre的版本高于jdk(即Compiler)的版本,就能运行,因为高版本环境兼容低版本程序。但并不是的,jdk1.8的修改很大,就算前高后低,仍旧派出这个异常。所以我们都把他们修改成1.7版本。
Compiler改成1.7。按下图改成1.7,然后右下角apply就行了。
3、修改jre为1.7,看下图,电脑里装了三个jdk版本,选择jdk1.7,然后spply就行了。
第二:修改tomcat服务容器的JRE
1、因为tomcat是基于java编写的服务容器,所以它是需要java运行环境的。其实这个更容易开发人员忽略,但是这个更重要,因为动态web工程最终是在tomcat里面运行的,而tomcat的运行jre直接决定web工程的jre,而上面配置的就直接没用了,因为用到tomcat了,是web工程,不是纯java工程。
修改tomcat的jre,window-Preferences-Server-Runtime Environments ,电脑里装了两个tomcat容器一个7,一个9,选择一个然后Edit。
2、Edit就是配置的意思,及配置这个选中的tomcat。下面就是配置界面,选择jdk1.7,然后Finish就就ok了。这样,java.lang.IllegalArgumentException问题就得到了成功解决。
java反射调用main,IllegalArgumentException
String batch = args[0];
String[] param = new String[args.length-1];
for (int i=0;iargs.length-1;i++) {
param[i] = args[i+1];
请问楼主,如果args[]里只有 1 个元素,这时候 你的param创建了是不是创建了0个空间?
把 String[] param = new String[args.length-1]; 改成
String[] param = new String[args.length];
illegalargumentexception是什么异常
IllegalArgumentException此异常表明向方法传递了一个不合法或不正确的参数。你看看传值的方法是否参数不正确。
java.lang.IllegalArgumentException这个异常是怎么回事
出现这个异常,表明向方法传递了不合法或不正确的参数。检查一下,是否在调用某个方法时,传递了与方法定义时不相符的参数类型。
IllegalArgumentException是什么错误
代码太乱了没怎么看
做级联操作的话,不需要一次性将5个下拉框都填充值,只需要填充***级下拉框,然后触发***级下拉框的onChange事件时通过dwr获取第二级下拉框的数据,以此类推.
以上的报错信息是方法的传参有问题,你可能传了一个null到后台,你可以debug一下后台的获取数据的方法,看看是哪个参数有问题.
关于illegalargumentexception和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。