转载请注明出处: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>
至此,问题解决。