2014-10-31 76 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