2014-05-15 20 views
0

我在執行我的項目時遇到了上述錯誤。 當我以正常的方式執行它,它運行良好,沒有任何錯誤。 但是當我嘗試調用它通過Oozie的一個java行動來運行同一程序,它會引發以下異常java.lang.VerifyError:main()拋出異常:函數的參數不兼容

Failing Oozie Launcher, Main class [com.ea.storage.StorageVolumeClient], main() threw exception, (class: com/ea/storage/S3Metrics, method: getS3MetricValues signature: (IJ)Ljava/util/List;) Incompatible argument to function 
java.lang.VerifyError: (class: com/ea/storage/S3Metrics, method: getS3MetricValues signature: (IJ)Ljava/util/List;) Incompatible argument to function 
    at com.ea.storage.StorageVolumeClient.storageVolume(StorageVolumeClient.java:97) 
    at com.ea.storage.StorageVolumeClient.collectData(StorageVolumeClient.java:65) 
    at com.ea.storage.StorageVolumeClient.main(StorageVolumeClient.java:119) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:467) 
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50) 
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:430) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:366) 
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:415) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190) 
    at org.apache.hadoop.mapred.Child.main(Child.java:249) 

簽字:getS3MetricValues的:

public static List<> getS3MetricValues(int,long) 

地方,我調用該函數:

s3Metrics = S3Metrics.getS3MetricValues(Integer.parseInt(properties.getProperty("pool.size")),timeout); 

注:我在一臺機器上構建項目並將它部署到另一臺機器上。

請讓我知道我錯過了什麼。

+0

您就可以在這些線路 –

+0

@SaraSeppola已經添加了調用該函數的行代碼 – dnivra

+0

好,可惜我不能幫助你在這裏:/ –

回答

1

解決了這個問題。 這是由於兩個jets3t庫被加載而引起的。 Oozie從hadoop庫中加載jets3t版本0.6,我正在加載jets3t 0.9。 刪除其中一個罐子解決了問題。