저는 Jena로 조금 놀고 Eclipse에서 Java Google Web Application 프로젝트를 설정했습니다. Jena 2.0 라이브러리를 다운로드하여 프로젝트의 빌드 경로와 /war/WEB-INFO/lib/
폴더에 추가했습니다.java.lang.NoClassDefFoundError : 클래스 com.hp.hpl.jena.query.Query를 초기화 할 수 없습니다.
내 간단한 서블릿 그래서 거기에 컴파일 오류가없고 내가 말한대로 Libarries가 빌드 경로와 WEB 아래에있는 lib 폴더에 모두 코드
...
Query query = QueryFactory.create(queryString);
...
의 다음 줄을 사용하여 쿼리를 인스턴스화하려고 내가 웹 애플리케이션을 실행하고 나는 다음과 같은 예외가 서블릿을 실행하면 (전쟁 DIR 인치) -INF
:
java.lang.NoClassDefFoundError: Could not initialize class com.hp.hpl.jena.query.Query
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:78)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:52)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:40)
at nyx.servlets.PeripheralServlet.extractPlace(PeripheralServlet.java:102)
at nyx.servlets.PeripheralServlet.doCreate(PeripheralServlet.java:83)
서블릿 클래스는 요정입니다 pheralServlet.java와 메소드 의 102 번 줄 extractPlace은 Query 객체를 인스턴스화하려고 시도하는 곳입니다.
아무도 내 문제가 무엇인지에 대한 단서를 줄 수 있습니까? 내게는 그 줄에 누락 된 항아리 포함이나 뭔가가있는 것처럼 보이지만 내가 말했듯이 프로젝트의 빌드 경로와 WEB-INF 아래의 lib 폴더에 Jena 파일을 모두 포함시켰다.
대단히 감사합니다.
편집 : 이상한 것은 QueryFactory
실제로 모두 Query
및 QueryFactory
이 같은 예나 패키지 오른쪽에있는 오류 등을 제공하지 않는다는 것이다?
EDIT2 :이 후 페이지를 다시로드하면
java.lang.StackOverflowError
at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168)
at java.util.regex.Pattern$Branch.match(Pattern.java:4114)
at java.util.regex.Pattern$Branch.match(Pattern.java:4112)
at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227)
at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168)
at java.util.regex.Pattern$Start.match(Pattern.java:3055)
at java.util.regex.Matcher.search(Matcher.java:1105)
at java.util.regex.Matcher.find(Matcher.java:535)
at com.google.appengine.tools.development.LocalEnvironment.getServerName(LocalEnvironment.java:302)
at com.google.appengine.tools.development.DevAppServerImpl.getCurrentAppContext(DevAppServerImpl.java:372)
...
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:82)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:156)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:704)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:64)
...
내가 얻을 다시 원래 : 필요한 항아리 번 이제 포함되어 처음부터 과정을 반복하고 확인 만 한 후 나는 다음과 같은 예외가 예외. 나는 약간의 연구를 해왔고 Jena 버전 2.6과 관련된 몇 가지 관련 문제를 발견했습니다. 우리는 2013 년이며, 예나가 나는 그들이
이클립스 프로젝트에 Apache Jena jar를 추가하십시오. https://www.cs.duke.edu/courses/fall06/cps004g/assign/shotgun/addlibrary.html –
이미 모든 Jena 병이 추가되었습니다. 이 외에도 Google Eclipse Plugin은 Jetty를 사용합니다. 이것은 실제로 중요한가? – dncolomer
Jena 병이 섞여 있거나 손상되었을 수 있습니다. 동일한 버전의 병 만 사용하십시오. 2.10.0 – AndyS