Eclipse Tycho,一個用於構建Eclipse插件的Maven插件,引發了Eclipse IDE無法編譯的錯誤:無法引用非最終變量urlString在不同的方法Tycho引發了Eclipse IDE錯誤:無法引用非最終變量
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:0.19.0:compile (default-compile) on project org.nodeclipse.ui: Compilation failure: Compilation failure:
[ERROR] D:\Workspaces\Nodeclipse-DEV\nodeclipse-1\org.nodeclipse.ui\src\org\nodeclipse\ui\preferences\NodePreferencePage.java:[93]
[ERROR] URL url = new URL(urlString);
[ERROR] ^^^^^^^^^
[ERROR] Cannot refer to a non-final variable urlString inside an inner class defined in a different method
[ERROR] 1 problem (1 error)
解決方法是微不足道的限定的內部類的內部,只需添加一個final
。
但是我想知道爲什麼與Tycho的編譯不同於Eclipse IDE? 兩者都有的Java版本設置爲1.6(見pom.xml)
詳細的項目設置:
- 的.project和的.classpath是committed
- 的.classpath有JavaSE-1.6,我可以看到,在Eclipse作爲「JRE系統庫[JavaSe-1.6]」文件夾。
- META-INF/MANIFEST.MF 聲明
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
但是我沒有在JVM運行8和我的工作空間默認爲1.8
因此,SO問題的範圍無論如何不會發生顯着變化,因此無需使用EDIT或UPDATE標記編輯。 – oberlies 2014-09-30 09:11:29