我在我的应用程序中使用jackson libs,当我构建代码(使用ant)时,构建成功。我已经尝试过在单元测试中使用这些方法进行模拟测试,并且工作正常。但是当启动karaf时,它给了我这个错误:
function base64_to_jpeg($base64_string, $output_file) {
$ifp = fopen($output_file, "wb");
$data = explode(',', $base64_string);
fwrite($ifp, base64_decode($data[1]));
fclose($ifp);
return $output_file;
}
这些是我在ivy.xml中下载的罐子:
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.JavaType not found by com.project.test.application [224]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
我试过更改版本,但仍然是同样的错误。下载后我是否需要加载这些罐子?我将默认位置保留为ivy-lib,该过程适用于我正在下载的所有其他jar。 出了什么问题?这是否需要特定版本或任何其他依赖项?或者还有其他方法来加载这些jar文件吗?
我在build.xml中的类路径
<dependency org="com.fasterxml.jackson.core" name="jackson-core" rev="2.4.4" transitive="false" />
<dependency org="com.fasterxml.jackson.core" name="jackson-annotations" rev="2.4.4" transitive="false" />
<dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.4.4" transitive="false" />
答案 0 :(得分:7)
我收到此错误是因为其他某个类中的其他人正在使用org.codehaus.jackson
包而我正在使用com.fasterxml.jackson
包。由于这种罐子的冲突,它正在抛出这个ClassNotFoundException
。一旦我删除并用codehaus jars替换了那些fastxml罐子,它就开始正常工作了。
答案 1 :(得分:3)
我们可以在pom.xml中添加以下依赖项,并解决所有类型的jackson错误
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.4</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.4.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.7.4</version>
</dependency>
答案 2 :(得分:0)
对于我来说,版本2.8.6不适用于Spring MVC上下文(不带Boot),而版本2.9.4不适用 效果很好。