Android—Maven採用第三方jar包運行時報錯的解決方案

轉載請註明出處:http://xuantan.iteye.com/blog/1847485

 

Android工程中用到了一個第三方jar包,但此jar包在公司內部的maven倉庫中不存在。

因此在POM文件中採用瞭如下配置方式:

 

Java代碼  收藏代碼
  1. <dependency>  
  2.     <groupId>com.baidu.android</groupId>  
  3.     <artifactId>pushservice</artifactId>  
  4.     <version>2.1.1</version>  
  5.     <scope>system</scope>  
  6.     <systemPath>${project.basedir}/libs/pushservice-2.1.1.jar</systemPath>  
  7. </dependency>  

 

 然後利用mvn命令進行編譯、打包,至此一切正常。

但是在程序運行時卻報出瞭如下錯誤:

 

Java代碼  收藏代碼
  1. 04-15 11:28:59.929: E/AndroidRuntime(6427): java.lang.NoClassDefFoundError: com.baidu.android.pushservice.PushManager  

 

斷定原因爲:是這個第三方jar包沒有打入到apk中,因此報了類找不到的錯誤

 

解決方案爲:

1、利用mvn命令將此第三方jar包上傳到自己的maven本地倉庫中:

Java代碼  收藏代碼
  1. mvn install:install-file -Dfile=libs\pushservice-2.1.1.jar -DgroupId=com.baidu.android -DartifactId=pushservice -Dversion=2.1.1 -Dpackaging=jar  

 

 2、然後更改POM文件中的配置即可:

Java代碼  收藏代碼
  1. <dependency>  
  2.     <groupId>com.baidu.android</groupId>  
  3.     <artifactId>pushservice</artifactId>  
  4.     <version>2.1.1</version>  
  5.     <scope>compile</scope>  
  6. </dependency>  

 

至此,問題解決。

 

轉載請註明出處:http://xuantan.iteye.com/blog/1847485

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章