2014-10-31 47 views
0
`Platform`: Windows 7, MinGW, MSYS, Java 1.5 

我有節儉0.9.1編譯器(預編譯爲windows)和源代碼。我使用Ant來構建Java庫。 我創建了一個thrift idl並使用編譯器進行編譯。生成代碼文件沒有問題。 我在我的項目中添加這些文件,並添加slf4j(從他們的網站下載)和libthrift。 我以前的大多數錯誤(導入等)都沒有了,除了與覆蓋方法有關的錯誤。 所以基本上是抱怨這樣的:使用Java 1.5編譯節儉生成的類時出錯

清式服務器()方法必須重寫超類方法

,同樣爲compareTowriteread等等,總之它抱怨所有的方法是被覆蓋。這是所有節儉的編譯器生成的代碼,我沒有改變任何東西。

有沒有不兼容?我真的無法找到任何提及。我嘗試刪除,然後添加庫,我也嘗試清洗,刷新,驗證項目,但錯誤仍然存​​在。

我也嘗試編譯代碼(thrift代碼),但MinGW也是一個非常頭痛的問題。即使我已經安裝它,它也找不到configure。如果我運行msys控制檯,它能夠configure但不能make抱怨inttypes.h不存在(這不是在msys include目錄中,但存在於MinGW包含目錄中)。

任何建議,將不勝感激。

+0

這是關係到http://stackoverflow.com/questions/26631900/thrift-generated-java-code-generates-loads-of-warnings或者是其他某事? – JensG 2014-10-31 17:13:21

+1

順便說一句,在Windows上不要使用MinGW。在編譯器文件夾中有一個Visual Studio項目。你基本上只需要flex/bison支持,在網上有一個Windows安裝包可以做。 IIRC就是這樣。奇蹟般有效。據我所知,MinGW構建不再適用於Windows,因爲一些與MinGW相關的bug。由於VS項目工作得很好,因此再也沒有對PITA的真正需求。 – JensG 2014-10-31 17:22:02

+0

這是一個次要問題,我也可以從他們的網站獲得二進制文件。但主要問題是生成的代碼不能編譯 – ata 2014-10-31 21:14:41

回答

1

您使用的是Java 5嗎?使用Java 5 @Override不會在接口上搜索方法,只能在超類上搜索。

如果您正在使用Java 5編譯器嘗試使用更新的javac(最好是7或8)並查看其工作原理。

編輯:

不知道這是你的節儉的版本,但在我看起來有一種叫做java5標誌,你的生成代碼時指定要生成的代碼指定是Java 5的兼容

java (Java): 
    beans:   Members will be private, and setter methods will return void. 
    private-members: Members will be private, but setter methods will return 'this' like usual. 
    nocamel:   Do not use CamelCase field accessors with beans. 
    fullcamel:  Convert underscored_accessor_or_service_names to camelCase. 
    android:   Generated structures are Parcelable. 
    android_legacy: Do not use java.io.IOException(throwable) (available for Android 2.3 and above). 
    java5:   Generate Java 1.5 compliant code (includes android_legacy flag). 
    reuse-objects: Data objects will not be allocated, but existing instances will be used (read and write). 
    sorted_containers: 
        Use TreeSet/TreeMap instead of HashSet/HashMap as a implementation of set/map. 
+0

謝謝。不知道。 – ata 2014-11-03 11:13:32

+0

任何方式,我可以讓它運行在1.5(只是刪除註釋) – ata 2014-11-03 11:17:45

+0

編輯我的答案提到java5標誌,希望可以幫助 – BCG 2014-11-04 12:46:34