【问题标题】:Error after deploying Sesame application into Tomcat将 Sesame 应用程序部署到 Tomcat 后出错
【发布时间】:2013-09-17 10:46:05
【问题描述】:

我使用芝麻依赖项创建了一个应用程序:

<dependency>
            <groupId>org.openrdf.sesame</groupId>
            <artifactId>sesame-runtime</artifactId>
            <version>2.7.5</version>
        </dependency>

        <dependency>
            <groupId>org.openrdf.sesame</groupId>
            <artifactId>sesame-repository-sail</artifactId>
            <version>2.7.5</version>
        </dependency>
        <dependency>
            <groupId>org.openrdf.sesame</groupId>
            <artifactId>sesame-sail-memory</artifactId>
            <version>2.7.5</version>
        </dependency>

在 Spring IDE 中使用集成的 Tomcat 运行它时可以工作。 我将它部署到 Tomcat 7 中,但在访问我在代码中使用的一种方法时出现以下错误:(同样的事情在 Spring 中有效)

java.lang.AbstractMethodError: org.openrdf.repository.sail.SailRepositoryConnection.begin()V 在 org.openrdf.repository.event.base.NotifyingRepositoryConnectionWrapper.begin(NotifyingRepositoryConnectionWrapper.java:272) 在 org.openrdf.repository.manager.SystemRepository.initialize(SystemRepository.java:88) 在 org.openrdf.repository.manager.LocalRepositoryManager.createSystemRepository(LocalRepositoryManager.java:107) 在 org.openrdf.repository.manager.LocalRepositoryManager.createSystemRepository(LocalRepositoryManager.java:62) 在 org.openrdf.repository.manager.RepositoryManager.initialize(RepositoryManager.java:104) 在 com.mvc.API.StorageAPI.createNativeLocalRepository(StorageAPI.java:154)

在第 154 行,我有: manager.initialize();

来自:

文件 dataDir = new File(REPOSITORY_NAME); RepositoryManager manager = new LocalRepositoryManager(dataDir);

RepositoryManager 是 Sesame 的一个抽象类,它实现了方法 initialize(),LocalRepositoryManger 继承自它,但不覆盖方法 initialize()。 我还尝试使用 Tomcat 6.0.37 并将芝麻依赖项更改为 2.7.6 你知道我为什么会收到这个错误吗?

谢谢!

【问题讨论】:

标签: java spring tomcat sesame


【解决方案1】:

AbstractMethodError 只有在用于运行程序的编译代码与用于实际编译程序的代码不同时才会出现在运行时。

造成这种情况的一个常见原因是,您编译时使用的 jar 库版本与实际运行程序时使用的版本不同 - 可能是因为您的类路径中有同一个 jar 的两个版本,或者其他一些您的构建/运行设置不一致。

检查您的构建路径和/或运行时类路径不包含错误或重复的 jar 文件。如果您最近更改了 maven 依赖项,请确保重新生成编译时构建路径,例如通过从命令行使用 'mvn eclipse:clean eclipse:eclipse' 或使用 M2E 的刷新选项(如果你'重新使用 Eclipse M2E 插件,即)。

【讨论】:

    猜你喜欢
    • 2016-09-07
    • 2017-04-20
    • 2020-04-02
    • 2020-05-23
    • 1970-01-01
    • 2015-01-18
    • 2013-05-14
    • 2014-06-27
    • 2016-08-19
    相关资源
    最近更新 更多