轉載請註明出處:http://xuantan.iteye.com/blog/1847485
Android工程中用到了一個第三方jar包,但此jar包在公司內部的maven倉庫中不存在。
因此在POM文件中採用瞭如下配置方式:
- <dependency>
- <groupId>com.baidu.android</groupId>
- <artifactId>pushservice</artifactId>
- <version>2.1.1</version>
- <scope>system</scope>
- <systemPath>${project.basedir}/libs/pushservice-2.1.1.jar</systemPath>
- </dependency>
然後利用mvn命令進行編譯、打包,至此一切正常。
但是在程序運行時卻報出瞭如下錯誤:
- 04-15 11:28:59.929: E/AndroidRuntime(6427): java.lang.NoClassDefFoundError: com.baidu.android.pushservice.PushManager
斷定原因爲:是這個第三方jar包沒有打入到apk中,因此報了類找不到的錯誤
解決方案爲:
1、利用mvn命令將此第三方jar包上傳到自己的maven本地倉庫中:
- 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文件中的配置即可:
- <dependency>
- <groupId>com.baidu.android</groupId>
- <artifactId>pushservice</artifactId>
- <version>2.1.1</version>
- <scope>compile</scope>
- </dependency>
至此,問題解決。