2014-09-10 102 views
0

在Grails的工具套件編譯器無效的錯誤,我得到一個插件編譯器錯誤(緩存1.0.1):的Groovy/Grails的工具套件生成的Grails插件

無法在類型Header.Type的值切換。只有敞篷INT值,字符串或枚舉變量被允許
GenericResponseWrapper.java /ndhhello/.link_to_grails_plugins/cache-1.0.1/src/java/grails/plugin/cache/web線237的Java問題

哪裏這是被標記的代碼:

  Type type = Header.Type.determineType(value.getClass()); 
      switch (type) { // <-- line 237 
       case STRING: 

這也顯示在PageFragmentCachingFilter;在兩種情況下它都在Java類中,並且錯誤是一個編譯錯誤,它不應該適用於Java 7(允許開啓枚舉)。

在一個點上,我得到這個錯誤,通過在命令行ggts之外運行的命令,當我跑

grails test run-app 

莫名其妙ggts本身更新,並決定與程序得到了一會兒就走開。但它再次失敗,我無法再一次重現我早先的成功;我現在有兩個項目在ggts中打開,其中一個獲取錯誤,另一個沒有。我如何得到ggts來確定這是好的?

我在Windows 7上使用Groovy/Grails工具套件版本3.6.1.RELEASE。在首選項中,Java編譯器合規性級別設置爲1.7,並且在已安裝的JRE下選擇的條目是64位Java 7 jdk:

c:\java\jdk7\bin>java -version 
java version "1.7.0_65" 
Java(TM) SE Runtime Environment (build 1.7.0_65-b19) 
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode) 
+0

「在首選項中,Java編譯器合規性級別設置爲1.7」是那些全局首選項?如果是這樣,請檢查項目特定設置。項目設置將覆蓋全局設置。由於您有兩個項目的行爲不同,因此他們的項目特定設置可能不同。右鍵單擊項目,然後轉到「屬性>> Java編譯器」 – Kris 2014-09-12 14:05:45

+0

@Kris:謝謝,它修復了它。當我點擊「啓用項目特定設置」時,在破損的項目上默認合規性級別爲1.4。那麼我不得不清理這個項目。 – 2014-09-12 14:24:40

回答

0

當我在GGTS項目特定的設置中創建一個新的項目未選中。儘管我選擇了一個JDK來使用我的所有項目,但GGTS並未使用它來確定要編譯的JDK版本。選擇特定於項目的設置會導致JDK1.4的默認值。

一旦我在我的構建路徑設置中爲我的項目特定的JDK選擇適當的版本,那麼該插件將爲該項目正確編譯。