1. 程式人生 > >java工程JUnit執行錯誤和編譯錯誤

java工程JUnit執行錯誤和編譯錯誤

在我用到@Autowired註解時,在配置檔案xml中,加入context的名稱空間(紅色部分),然後用JUnit 進行執行測試,提示出錯:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd">       


          <context:annotation-config />

[org.springframework.context.annotation.AnnotationConfigBeanDefinitionParser]are only available on JDK 1.5 and higher的這個錯誤的意思是spring的註解配置解析器只能在JDK1.5或更高版本使用,但是我的eclipse中的jdk的版本為jdk1.8.0_66,但是spring的版本為2.5,總而言之就是1.8JDK太高了,SPRING支援不了,在重新換一下JDK的版本就應該沒問題了。其實根本的原因是因為在

spring框架中有一個jkdcheckversion方法,這個方法中,沒有相容到1.8.故才會出現這個問題。它最高只能相容到1.7


我在eclipse——》preference——》java——》Installed JREs中將原來的jdk1.8.0_66 選中,點選Edit,重新選擇jdk1.6.0_39(我又重新下載安裝的),將jdk配置成1.6.0_39版本。然後重新JUnit執行測試,又出現下面的錯誤:

這個錯誤的意思是,程式編譯的時候用了一個較高版本的JDK,但是在程式執行的時候卻用了一個較低版本的jdk。事實上,我也確實是這麼做的,我在eclipse裡面先用jdk1.8將程式跑了一遍,然後用jdk1.6跑程式就會出現上述的錯誤,原因就是在用jdk1.8跑了程式會在工程的bin目錄下面就產生了相應於jdk1.8的class檔案,下次再用jdk1.6跑這個工程,由於class檔案是有jdk1.8產生的,所以程式跑不通也不足為奇!  

 解決的方法:改變Java的編譯版本:如下圖,我將Compiler compliance level選擇改成1.6. 然後再次JUint執行就沒問題了。

修改方法是:http://blog.csdn.net/rosten/article/details/5109251
1:Preferences-->Java-->Compiler->Compiler compliance level,選擇一個需要的版本,比如從預設的1.8改為1.6
2:如果只想修改一個工程的Compiler compliance level,就右單擊工程,選擇屬性,在其中的Java Complier中選擇

Compiler compliance level的值。


相關推薦

java工程JUnit執行錯誤編譯錯誤

在我用到@Autowired註解時,在配置檔案xml中,加入context的名稱空間(紅色部分),然後用JUnit 進行執行測試,提示出錯: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http

Java自定義執行異常編譯異常類

       Throwable 類是 Java 語言中所有錯誤Error 和異常Exception的超類,而異常分為執行時異常和非執行時異常        1、Error和執行時異常RuntimeException及其子類為非檢查異常(unchecked),其它異常為檢查異常(checked)。    

Java之多執行緒易範錯誤

public class mainTestImpl { /* * 任何執行緒一般具有五種狀態,即建立、就緒、執行、阻塞、終止 執行緒 呼叫stop()方法時或run()方法執行 * 結束後,執行緒即處於死亡狀態。 處於死亡狀態的執行緒不具有繼續執行的能力。

qt例子不能執行,qt編譯錯誤,qmake不能呢執行;error while building deploying解決

qt creator報錯error while building deploying project 在進行qt creator編譯qt工程時,報出錯誤:error while building deploying project。 還可能出現不能執行qma

maven install時碰到的兩個問題(堆溢位編譯錯誤

問題1.maven install時出現,日誌如下: 系統資源不足。 有關詳細資訊,請參閱以下堆疊追蹤。 java.lang.OutOfMemoryError: Java heap space         at com.sun.tools.javac.util.Li

Eclipse匯出可執行Java工程/可執行Jar檔案(包含第三方Jar包)

1. 首先,右鍵你的Java工程,選擇Export,在Java資料夾下選擇Runnable JAR file,如下圖所示: 2. 選擇Runnable JAR file後,會彈出如下所示的對話方塊,選擇好匯出路徑後,預設Finish其實就可以了。但是需要注意的是兩點:

CAN匯流排學習記錄之三:匯流排中主動錯誤被動錯誤的通俗解釋

首先建議把廣泛使用的“主動錯誤”和“被動錯誤”概念換成“主動報錯”和“被動報錯”。 1. 主動報錯站點 只要檢查到錯誤,它立即“主動地”發出錯標識。所謂“出錯標識“,它本身就是一個“錯誤的位序列”(連續的6個顯性位,不滿足 CAN 協議的“最多5個連續的同性位”要求),目的是“主動地”告訴大家:即使你們沒

mysql5.7 新建使用者1396錯誤1819錯誤

去掉密碼規則 vim /etc/my.cnf 在my.cnf中加上如下這句話 去掉密碼校驗規則解決1819 問題 validate_password=off 去掉之後記得重啟mysql(我用的centos6 ,好難用 不過客戶喜歡,沒得辦法) 重啟mysql serv

Java程式的執行機制JVM、JDK及JRE的關聯

和其他編譯型以及解釋性語言相比,Java語言比較特殊,它的編譯過程比較特殊,並不會生成特定平臺的機器碼,而是生成一種與平臺無關的位元組碼(也就是*.class檔案)。     當然,這種位元組碼不是

JAVA語言規範-執行鎖章節之同步、等待通知

原文連結  本文是Oracle官方《Java語言規範》的譯文 JAVA語言規範:執行緒和鎖 1 同步 JAVA程式語言提供了執行緒間通訊的多種機制。這些方法中最基本的是同步化,此方法是使用監視器實現的。JAVA中每個物件與一個監視器相關聯,一個執行緒可以加鎖和解鎖監視器。一次僅有一個執行緒可能

執行編譯時超程式設計—編譯時超程式設計

執行時和編譯時超程式設計 第二部分 2 編譯時超程式設計 Groovy的編譯時超程式設計支援編譯時生成程式碼。這些變換(譯者注:原文該專有名詞是transformations,譯者直譯為變換,也許不準確。如果有知道準確翻譯的讀者懇請不吝賜教,待譯者修正)叫做程式的抽象語法樹(AST),在Gr

執行編譯時超程式設計—執行時超程式設計

執行時和編譯時超程式設計 第一部分 Groovy語言支援兩種風格的超程式設計:執行時超程式設計和編譯時超程式設計。第一種超程式設計支援在程式執行時修改類模型和程式行為,而第二種發生在編譯時。兩種超程式設計有各自的優缺點,在這一章節我們將詳細討論。 注:譯者也是第一次接觸Groovy,由於

Eclipse的常見使用錯誤編譯錯誤 && 外掛

(1)滑鼠放置類名上時,提示Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be found。  原因是sdk\目錄下缺少了個doc

Maven獲取包的時候錯誤build錯誤 ArtifactTransferException: Failure to transfer

 ArtifactTransferException: Failure to transfer xalan:xalan:jar:2.6.0 from http://repo.maven.apache.org/maven2 was cached in the local

【牛腩1】--- 伺服器錯誤編譯錯誤

這是我的牛腩的第一個問題,紀念一下吧! 問題描述 “ASP.default_aspx”不包含“GridView1_SelectedIndexChanged”的定義,並且找不到可接受型別為“ASP.default_aspx”的第一個引數 錯誤原因 因為雙擊了該控制元件(G

JAVA中的執行 程序

首先了解一些基本知識 執行緒               執行緒,有時被稱為輕量程序(Lightweight Process,LWP),是程式執行流的最小單元。一個標準的執行緒由執行緒ID,當前指令指標(PC

64位KaliUbuntu安裝32位執行環境編譯環境

kali 安裝32位執行環境 這裡使用kali的原始更新源,使用命令: leafpad /etc/apt/sources.list 在文字中輸入: deb http://http.

Java的守護執行非守護執行

一、守護執行緒         java分為兩種執行緒:使用者執行緒和守護執行緒         守護執行緒是指在程式執行的時候在後臺提供一種通用服務的執行緒,比如垃圾回收執行緒就是一個很稱職的守護者,並且這種執

.net 安裝 1063錯誤 1601 錯誤 解決。

1603錯誤 解決方法:問題出在登錄檔,HKEY_LOCAL_MACHINE\SOFWARE\Microsoft\Internet Explorer下MAIN子鍵的許可權問題,改成"允許完全控制"就行了。 1601錯誤 可能是Windows Installer 問題。m

Java基礎】執行併發機制

前言 在Java中,執行緒是一個很關鍵的名詞,也是很高頻使用的一種資源。那麼它的概念是什麼呢,是如何定義的,用法又有哪些呢?為何說Android裡只有一個主執行緒呢,什麼是工作執行緒呢。執行緒又存在併發,併發機制的原理是什麼。這些內容有些瞭解,有些又不是很清楚,所以有必要通過一篇文章的梳理,弄清