java. lang. IllegalArgcationException是什么异常
发布时间:2025-05-19 19:50:42 发布人:远客网络
一、java. lang. IllegalArgcationException是什么异常
错误:java.lang.IllegalArgumentException非法论据异常,也可称为非法形参异常。argument不是参数的意思,是争吵,争论;论据,经常用args用作形参。
在SSM动态javaweb服务器框架中,经常看到这个异常,很多人说这是参数异常,检查自己在ioc容器中配置的参数是否正确,其实这是项目使用的Java编译器(即Javacompiler)使用的jdk版本和Java的运行环境(即jreJavaruntimeenvironment)版本不匹配造成的。
如果jdk使用的是1.7,jre使用的是1.8,就会出现这一异常。即使是低版本的编译器,高版本的运行环境,也会出现这一异常。
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就行了。
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问题就得到了成功解决。
二、Maven 中的 compiler:3.11.0:compile 是什么
假设你是一个软件开发者,你的团队决定开发一个 Java库来处理常见的字符串操作,例如反转字符串、计算字符串的长度、转换字符串的大小写等。在这个场景中,compiler:3.11.0:compile是一个关键的步骤,确保你的 Java代码被正确地编译,并为后续的测试和打包步骤做好准备。没有这个步骤,你的库就不能被其他项目使用,因为.java文件不是可执行的,需要被编译成.class文件才能在 JVM上运行。
在 Maven中,compiler:3.11.0:compile表示一个特定的插件目标(goal)的执行。这里的插件是 compiler,版本号是 3.11.0,而目标(goal)是 compile。maven-compiler-plugin是 Maven的核心插件之一,它的主要任务是编译项目的源代码。默认情况下,它会编译 src/main/java目录下的 Java源代码文件,并将编译后的.class文件输出到 target/classes目录。
让我们通过一个具体示例来详细了解这个插件和它的 compile目标是如何工作的。在示例项目结构中,我们为 maven-compiler-plugin指定了版本 3.11.0,配置了 Java源代码和目标版本为 1.8。当你在项目的根目录下执行 mvn compile命令时,Maven会在 compile阶段执行 maven-compiler-plugin的 compile目标。这将编译 src/main/java目录下的所有 Java源文件(如 App.java)并将生成的.class文件输出到 target/classes目录。你也可以手动只执行这个目标,只需在命令行中输入以下命令:这将仅触发插件的 compile目标,进行源代码的编译。总的来说,compiler:3.11.0:compile在 Maven项目中表示一个明确的插件目标,用于编译 Java源代码。
当你执行 compiler:3.11.0:compile命令时,你其实是告诉 Maven使用版本为 3.11.0的 maven-compiler-plugin插件,并执行该插件的 compile目标,以编译项目的源代码。在大多数情况下,你可能不需要直接执行这个命令,因为当你运行常见的 Maven生命周期阶段,如 mvn clean install或 mvn package时,compile目标会自动被执行。但知道这个命令的具体作用是有帮助的,尤其是当你需要解决与编译相关的问题时。
三、java. lang. illegalArgumentException错误
错误:java.lang.IllegalArgumentException非法论据异常,也可称为非法形参异常。argument不是参数的意思,是争吵,争论;论据,经常用args用作形参。
在SSM动态javaweb服务器框架中,经常看到这个异常,很多人说这是参数异常,检查自己在ioc容器中配置的参数是否正确,其实这是项目使用的Java编译器(即Javacompiler)使用的jdk版本和Java的运行环境(即jreJavaruntimeenvironment)版本不匹配造成的。
如果jdk使用的是1.7,jre使用的是1.8,就会出现这一异常。即使是低版本的编译器,高版本的运行环境,也会出现这一异常。
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就行了。
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问题就得到了成功解决。