java.lang.illegalargumentexception的簡單介紹

本文目錄一覽:

出現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.lang.IllegalArgumentException怎麼解決?

你那個應該是不合法的參數異常吧 還有就是 你的那個C:\Users\feng lei\workspace\com.cn.app 目錄是不存在的

還有你的那個 嚴重: Error in resourceStart() 的問題需要 1.清空WORK目錄

2.把server-config.xml中無效的連接配置都刪除掉

3.把/conf/Catalina/localhost下的所有文件刪除

java.lang.IllegalArgumentException

簡而言之,通常情況可能是tomcat版本與JDK版本不協調。

像我的tomcat6,用了jdk8,結果報這個錯。JDK改成6就好了

java.lang.IllegalArgumentException這個異常是什麼意思啊,如何解決

IllegalArgumentException此異常表明向方法傳遞了一個不合法或不正確的參數。你看看傳值的方法是否參數不正確。

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行複雜的編程[1]  。

Java具有簡單性、面向對象、分散式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點[2]  。Java可以編寫桌面應用程序、Web應用程序、分散式系統和嵌入式系統應用程序等[3]  。

JDK(Java Development Kit)稱為Java開發包或Java開發工具,是一個編寫Java的Applet小程序和應用程序的程序開發環境。JDK是整個Java的核心,包括了Java運行環境(Java Runtime Envirnment),一些Java工具和Java的核心類庫(Java API)。不論什麼Java應用伺服器實質都是內置了某個版本的JDK。主流的JDK是Sun公司發布的JDK,除了Sun之外,還有很多公司和組織都開發了自己的JDK,例如,IBM公司開發的JDK,BEA公司的Jrocket,還有GNU組織開發的JDK[13]  。

另外,可以把Java API類庫中的Java SE API子集和Java虛擬機這兩部分統稱為JRE(JAVA Runtime Environment),JRE是支持Java程序運行的標準環境[14]  。

JRE是個運行環境,JDK是個開發環境。因此寫Java程序的時候需要JDK,而運行Java程序的時候就需要JRE。而JDK裡面已經包含了JRE,因此只要安裝了JDK,就可以編輯Java程序,也可以正常運行Java程序。但由於JDK包含了許多與運行無關的內容,佔用的空間較大,因此運行普通的Java程序無須安裝JDK,而只需要安裝JRE即可[15]  。

原創文章,作者:P4W14,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129153.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
P4W14的頭像P4W14
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29

發表回復

登錄後才能評論