2012-06-07 19 views
0

我正在嘗試使用http://sourceforge.net/projects/mantisconnect/ Java客戶端爲Android創建Mantis客戶端。 我創建了一個空的Android項目,添加了一個Libs文件夾,但還有一個mantisconnect jar文件。然後我將它添加到構建路徑並將其移動到頂部。Android Mantis客戶端「找不到類」錯誤

try { 
    mUrl = new URL("https://blabla.com:443/mantis/api/soap/mantisconnect.php"); 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } 
try { 
    IMCSession session = new MCSession(mUrl, mUser, mPwd); 
    } catch (MCException e) { 
     e.printStackTrace(); 
    } 

此代碼位於按鈕的OnClick事件中。但是,當我點擊這個按鈕,我有一個錯誤:

06-07 10:38:47.818: I/dalvikvm(1000): Failed resolving Lorg/mantisbt/connect/axis/MantisConnectPortType; interface 118 'Ljava/rmi/Remote;' 
06-07 10:38:47.818: W/dalvikvm(1000): Link of class 'Lorg/mantisbt/connect/axis/MantisConnectPortType;' failed 
06-07 10:38:50.993: W/dalvikvm(1000): VFY: unable to find class referenced in signature (Lorg/mantisbt/connect/axis/MantisConnectPortType;) 
06-07 10:38:53.856: I/dalvikvm(1000): Failed resolving Lorg/mantisbt/connect/axis/MantisConnectPortType; interface 118 'Ljava/rmi/Remote;' 
06-07 10:38:53.856: W/dalvikvm(1000): Link of class 'Lorg/mantisbt/connect/axis/MantisConnectPortType;' failed 
06-07 10:38:56.585: I/dalvikvm(1000): Failed resolving Lorg/mantisbt/connect/axis/MantisConnectPortType; interface 118 'Ljava/rmi/Remote;' 
06-07 10:38:56.585: W/dalvikvm(1000): Link of class 'Lorg/mantisbt/connect/axis/MantisConnectPortType;' failed 
06-07 10:39:04.045: W/dalvikvm(1000): VFY: unable to find class referenced in signature (Lorg/mantisbt/connect/axis/MantisConnectPortType;) 
06-07 10:39:05.613: I/dalvikvm(1000): Failed resolving Lorg/mantisbt/connect/axis/MantisConnectPortType; interface 118 'Ljava/rmi/Remote;' 
06-07 10:39:05.613: W/dalvikvm(1000): Link of class 'Lorg/mantisbt/connect/axis/MantisConnectPortType;' failed 
06-07 10:39:22.073: W/dalvikvm(1000): Unable to resolve superclass of Lorg/mantisbt/connect/axis/MantisConnectLocator; (187) 
06-07 10:39:22.073: W/dalvikvm(1000): Link of class 'Lorg/mantisbt/connect/axis/MantisConnectLocator;' failed 
06-07 10:39:23.326: E/dalvikvm(1000): Could not find class 'org.mantisbt.connect.axis.MantisConnectLocator', referenced from method org.mantisbt.connect.axis.MCSession.createPortType 
06-07 10:39:23.326: W/dalvikvm(1000): VFY: unable to resolve new-instance 251 (Lorg/mantisbt/connect/axis/MantisConnectLocator;) in Lorg/mantisbt/connect/axis/MCSession; 
06-07 10:39:23.326: D/dalvikvm(1000): VFY: replacing opcode 0x22 at 0x0000 
06-07 10:39:38.598: W/dalvikvm(1000): VFY: unable to resolve exception class 181 (Ljavax/xml/rpc/ServiceException;) 
06-07 10:39:38.603: W/dalvikvm(1000): VFY: unable to find exception handler at addr 0xa 
06-07 10:39:38.603: W/dalvikvm(1000): VFY: rejected Lorg/mantisbt/connect/axis/MCSession;.createPortType (Ljava/net/URL;)Lorg/mantisbt/connect/axis/MantisConnectPortType; 
06-07 10:39:38.603: W/dalvikvm(1000): VFY: rejecting opcode 0x0d at 0x000a 
06-07 10:39:38.603: W/dalvikvm(1000): VFY: rejected Lorg/mantisbt/connect/axis/MCSession;.createPortType (Ljava/net/URL;)Lorg/mantisbt/connect/axis/MantisConnectPortType; 
06-07 10:39:38.603: W/dalvikvm(1000): Verifier rejected class Lorg/mantisbt/connect/axis/MCSession; 
06-07 10:39:41.807: D/AndroidRuntime(1000): Shutting down VM 
06-07 10:39:41.807: W/dalvikvm(1000): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
06-07 10:39:41.996: E/AndroidRuntime(1000): FATAL EXCEPTION: main 
06-07 10:39:41.996: E/AndroidRuntime(1000): java.lang.VerifyError: org.mantisbt.connect.axis.MCSession 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at daintel.issuereporter.Controls2$1.onClick(Controls2.java:51) 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at android.view.View.performClick(View.java:2485) 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at android.view.View$PerformClick.run(View.java:9080) 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at android.os.Handler.handleCallback(Handler.java:587) 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at android.os.Handler.dispatchMessage(Handler.java:92) 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at android.os.Looper.loop(Looper.java:123) 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at java.lang.reflect.Method.invoke(Method.java:507) 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
06-07 10:39:41.996: E/AndroidRuntime(1000):  at dalvik.system.NativeStart.main(Native Method) 

但是這個類存在於一個包和我在活動課在按鈕事件中寫道

import org.mantisbt.connect.axis.*; 

。請你幫助我嗎?

回答

1

06-07 10:39:38.598: W/dalvikvm(1000): VFY: unable to resolve exception class 181 (Ljavax/xml/rpc/ServiceException;)

你錯過了你的類路徑中的一些庫。我建議:

  1. 您使用的罐子從http://search.maven.org/#artifactdetails|biz.futureware.mantis|mantis-axis-soap-client|1.2.9|jar;它適用於更新的Mantis版本
  2. 將Apache Axis 1.4 jar添加到您的類路徑中。
+0

我試過http://search.maven.org/#artifactdetails|biz.futureware.mantis|mantis-axis-soap-client|1.2.9|jar但沒有關於如何使用它的文檔。 – Taras

+0

只需將其包含在類路徑中並使用它的類即可。但不要忘記軸罐子 –

+0

但它使用了不能在Android應用程序中使用的java.rmi。最簡單的代碼,如 'URL url = new URL(MUrl); MantisConnectLocator mcl = new MantisConnectLocator(); MantisConnectPortType portType = mcl.getMantisConnectPort(url); String vers = portType.mc_version();' 產生一個錯誤 '該項目沒有構建,因爲它的構建路徑不完整。找不到java.rmi.RemoteException的類文件。修復構建路徑,然後嘗試構建這個項目 – Taras