大家早上好。
OWLOntologyManager manager OWLManager.createOWLOntologyManager = ();
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.semanticweb.owlapi.apibinding.OWLManager
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
我的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>SemanticMDX</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
我的服务:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/semantichelper")
public class WS_SemanticMDX {
@GET
@Produces("application/xml")
public String convertCtoF() {
AssistenteSemantico moduloSemantico = new AssistenteSemantico();
moduloSemantico.loadOWLOntology();
return "";
}
}
加载本体的方法:
public class AssistenteSemantico {
public static final IRI iri = IRI.create(
"myIRI/NovaOntologiaDeFeriados.owl");
public OWLOntology loadOwlOntology(){
OWLOntology owlOntologyRedirect = null;
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
manager.addIRIMapper(new SimpleIRIMapper(
iri,
IRI.create(new File(myPath/OntologiaDeFeriados-v4.owl"))));
try {
owlOntologyRedirect = manager.loadOntology(iri);
} catch (OWLOntologyCreationException e) {
e.printStackTrace();
}
return owlOntologyRedirect;
}
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SemanticMDX</groupId>
<artifactId>SemanticMDX</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-distribution</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>com.github.ansell.pellet</groupId>
<artifactId>pellet-owlapiv3</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-bundle</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20140107</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.19</version>
</dependency>
</dependencies>
com.google.inject.CreationException: Unable to create injector, see the following errors:
您的pom文件看起来是正确的,但是这个错误似乎表明您的web应用程序中没有正确地包含OWLAPI JAR。检查WEB-INF/lib
的内容,owlapi-distribution
jar应该在那里。
编辑:新的错误不会在OWLAPI3中发生--它引用的代码只有在OWLAPI4中才可用。我相信您现在的类路径中有多个版本。
本文向大家介绍jersey Java Jersey配置,包括了jersey Java Jersey配置的使用技巧和注意事项,需要的朋友参考一下 示例 此示例说明了如何配置Jersey,以便您可以开始将其用作RESTful API的JAX-RS实现框架。 假设您已经安装了Apache Maven,请按照以下步骤设置Jersey: 创建Maven Web项目结构,在终端(Windows)中执行以下命令
Jersey是一个 REST 框架,提供 JAX-RS 参考实现等。Jersey 提供了自己的 API,这些 API 扩展了 JAX-RS 工具箱,并具有其他功能和实用程序,以进一步简化 RESTful 服务和客户端开发。Jersey还公开了许多扩展SPI,以便开发人员可以扩展泽西岛以最适合他们的需求。 目标可以归纳为以下几点: 跟踪JAX-RS API并定期提供GlassFish附带的生产质量参
文件web.xml: 类JerseyGuiceServletContextListener: 类JerseyServletModuleConfig: 2016年8月21日12:34:12.577严重[localhost-startStop-1]org.apache.catalina.core.standardcontext.filterStart异常启动过滤器guiceFilter java.la
问题内容: 我已经编写了自己的扫描器来浏览我的JAX-RS资源,并使用来打印出方法名称和路径。问题是,当我将相同的代码迁移到2.16(将包名称从更改为)时,它将无法正常工作。 深入研究发现,这些必修课程不再公开。有人知道原因吗?以及如何将下面的代码从1.x迁移到2.x?实际上,没有有关此迁移的文档。 所有帮助表示赞赏!下面是带有1.x的代码 问题答案: 可以在包中找到适用于Jersey 2.x的新
问题内容: 这里有两个似乎相互矛盾的链接。我会尽快信任这些文档: 链接1 默认情况下,服务器上的请求处理在同步处理模式下工作 连结2 它已经是多线程的。 我的问题: 哪个是正确的。可以同时使用多线程吗? 为什么文档说以下内容?: 如果已知资源方法执行需要很长时间才能计算结果,则应使用服务器端异步处理模型 如果文档正确,为什么默认操作是同步的?默认情况下,为了用户体验,所有请求在客户端javascr
问题内容: 该应用程序使用JDK 8,Spring Boot和Spring Boot Jersey启动程序,并打包为WAR(尽管它是通过Spring Boot Maven插件在本地运行的)。 我想做的是将我在运行中(在构建时)生成的文档作为欢迎页面。 我尝试了几种方法: 通过按照此处所述配置 适当的init参数,让Jersey提供静态内容 引入以便将生成的HTML文档作为欢迎文件列出。 这些都没有