Java 试图编译hadoop mapreduce示例时发生gcj错误

Java 试图编译hadoop mapreduce示例时发生gcj错误,java,hadoop,jar,gcj,Java,Hadoop,Jar,Gcj,我试图在hadoop-mapreduce-examples-2.7.1.jar上使用gcj从jar文件生成本机机器代码。我的研究需要这个。但我得到了错误:预期的类型为“java.lang.Throwable”,但堆栈包含“java.io.IOException” 我有gcc版本4.8.4(Ubuntu 4.8.4-2ubuntu1~14.04),我使用的命令是: gcj --classpath={hadoop-mapreduce-client-core-2.7.1.jar:hadoop-comm

我试图在hadoop-mapreduce-examples-2.7.1.jar上使用gcj从jar文件生成本机机器代码。我的研究需要这个。但我得到了错误:预期的类型为“java.lang.Throwable”,但堆栈包含“java.io.IOException”

我有gcc版本4.8.4(Ubuntu 4.8.4-2ubuntu1~14.04),我使用的命令是:

gcj --classpath={hadoop-mapreduce-client-core-2.7.1.jar:hadoop-common-2.7.1.jar:commons-cli-1.2.jar:commons-logging-1.1.3.jar:guava-11.0.2.jar:hsqldb-2.0.0.jar} -d {destination} hadoop-mapreduce-examples-2.7.1.jar

由于我是java初学者,我不确定我是否走上了正确的道路。我甚至不确定这是否可能。请提出建议。

添加
-findirect dispatch
标志是否适合您

请注意,您还可以添加
-O1
-O2
-O3
优化标志。在我的例子中,
-O1
实际上效果最好,但你必须自己测试