Maven的新手尝试添加依赖关系
<dependency>
<groupId>com.koushikdutta.ion</groupId>
<artifactId>ion</artifactId>
<version>1.2.4</version>
</dependency>
然后我更新项目,然后看到Maven Dependencies文件夹中生成的必要JAR文件
所以在我的活动中我想使用离子,所以我称其为
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
我缺少什么来完成这项工作?
如何执行程序?来自Maven?从命令行?听起来执行环境与您的Maven POM文件中的编译时环境共享相同的类路径。
首先,我可以确认依赖项确实包含缺失的类:
- http://search.maven.org/#search|ga|1qul; g:"com.koushikdutta.ion" AND A A:"22" AND V V:!.21.2。4%22和%20FC%3A%22com.koushikdutta.ion.ion%22
这并不真正令人惊讶,因为您声明代码确实编译了。问题是 Runtime 的类Path Management。
选项1:使用Maven启动应用程序
使用EXEC插件从Maven内部运行代码。这将根据您在POM中声明的依赖项设置程序类路径:
- 如何使用Maven执行程序?
选项2:创建可执行JAR
一个独立的罐子,了解其依赖性是什么(没有POM):
- 如何使用Maven创建一个具有依赖项的可执行JAR?
- http://blog.sonatype.com/2009/08/how-to-make-an-executable-jar-in-maven/
有关JAR内部的更多详细信息,我建议阅读Jar Spec,特别是"主类"one_answers" class-path"属性。