首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jackcess加密导致Cobertura的"NoClassDefFoundError“异常

使用Jackcess加密导致Cobertura的"NoClassDefFoundError“异常
EN

Stack Overflow用户
提问于 2017-06-21 16:09:43
回答 2查看 548关注 0票数 0

我试图用一个非常简单的程序读取带有jet编码的mdb文件。

代码语言:javascript
复制
import java.io.File;
import java.io.IOException;

import com.healthmarketscience.jackcess.CryptCodecProvider;
import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.DatabaseBuilder;
import com.healthmarketscience.jackcess.Row;
import com.healthmarketscience.jackcess.Table;

public class ReadFile {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try {
        File myDbFile = new File("C:\\Users\\jcace\\Downloads\\TSC\\DB1.mdb");
        Database db = new DatabaseBuilder(myDbFile)
                  .setCodecProvider(new CryptCodecProvider())
                  .open();
    Table table = db.getTable("VBV");
    for(Row row : table) {
        System.out.println("Look ma, a row: " + row);
      }
    } catch (IOException e){
        e.printStackTrace();
    }
   }
}

我有以下的图书馆附加资料

  • 共用-日志-1.2\公域-日志-1.2.jar
  • commons-logging-1.2\commons-logging-1.2-javadoc.jar
  • 公-朗-2.6\公域-朗-2.6.jar
  • jackcess-encrypt-2.1.2.jar
  • hamcrest-core-1.3.jar
  • junit-4.11.jar
  • jackcess-2.1.0.jar
  • bcprov-jdk15on-1.49.jar

当我运行程序时,我有以下错误

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: 
net/sourceforge/cobertura/coveragedata/TouchCollector
at com.healthmarketscience.jackcess.CryptCodecProvider.__cobertura_init(CryptCodecProvider.java)
at com.healthmarketscience.jackcess.CryptCodecProvider.<clinit>(CryptCodecProvider.java)
at HelloWorld.main(HelloWorld.java:17)
Caused by: java.lang.ClassNotFoundException: net.sourceforge.cobertura.coveragedata.TouchCollector
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more

我尝试使用下面的弹跳地窖库

  • bcprov-jdk15on-157.jar
  • bcprov-jdk15on-152.jar
  • bcprov-jdk15on-151.jar
  • bcprov-jdk15on-150.jar
  • bcprov-jdk15on-149.jar
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-22 03:31:01

最后,我解决了我的问题,改变了库的累积-加密-2.1.2.jar的过程-加密-2.1.0.jar。

我不知道为什么,但这让我有可能做到这一点。

票数 0
EN

Stack Overflow用户

发布于 2017-08-11 12:43:41

应该在过程加密2.1.3版本中修复。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44681232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档