maven尝试添加依赖项的新手
<dependency>
<groupId>com.koushikdutta.ion</groupId>
<artifactId>ion</artifactId>
<version>1.2.4</version>
</dependency>
然后我更新了项目,并在maven依赖项文件夹中看到了必要的jar文件
那么在我的活动中我想使用Ion,所以我称之为
try {
Ion.with(mContext, uri).asBitmap().setCallback(new FutureCallback<Bitmap>() {
@Override
public void onCompleted(Exception e, Bitmap result) {
try {
if (e != null) {
throw e;
}
setImage(v, result);
}
catch (Exception ex) {
e.printStackTrace();
}
}
});
}
catch (Exception ex) {
ex.printStackTrace();
}
我进行必要的导入,文件中没有错误但是在运行时
03-07 21:05:40.492: E/AndroidRuntime(778): FATAL EXCEPTION: pool-1-thread-2
03-07 21:05:40.492: E/AndroidRuntime(778): java.lang.NoClassDefFoundError: com.koushikdutta.ion.Ion
我缺少什么让这项工作?
答案 0 :(得分:1)
你如何执行该计划?从maven?从命令行?听起来执行环境与maven POM文件中的编译时环境不共享相同的类路径。
答案 1 :(得分:1)
首先,我可以确认依赖项确实包含缺少的类:
这并不奇怪,因为您声明代码已编译。问题是运行时的类路径管理。
使用exec plugin从Maven中运行代码。这将根据您在POM中声明的依赖关系设置程序类路径:
一个了解它的依赖关系的独立jar(没有POM):
有关jar内部的更多详细信息,我建议您阅读jar spec,特别是“Main-Class”和“Class-Path”属性。