App Engine 및 Maven 구성을 사용하여 JDO를 사용하여 간단한 테스트를 만들려고합니다.App Engine, JDO 및 Maven. 시작시 오류가 발생했습니다.
내 컴파일 및 데이터 향상 단계가 성공합니다. 그러나 런타임에 (MVN 모두 : 테스트 및 애플리케이션 엔진 : devserver) 내가 얻을 :
1) Error in custom provider, javax.jdo.JDOFatalInternalException:
Class "com.google.appengine.datanucleus.DatastoreManager" was not found in the CLASSPATH.
Please check your specification and your CLASSPATH.
그러나, 포함 않습니다 내 클래스 경로 (대상/데모/WEB-INF/lib에) : datanucleus-에서 appengine-2.1.1.jar
그리고 내 의존성은 구글 datanucleus 프로젝트의 POM에 지정된 것과 동일합니다 :
<dependency>
<groupId>javax.jdo</groupId>
<artifactId>jdo-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>[3.1.1, 3.2)</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-api-jdo</artifactId>
<version>[3.1.1, 3.2)</version>
</dependency>
<dependency>
<groupId>com.google.appengine.orm</groupId>
<artifactId>datanucleus-appengine</artifactId>
<version>2.1.1</version>
</dependency>
어떤 제안을 주셔서 감사합니다.
RB
datanucleus와 JDO 버전과 충돌이있을 수 있습니다 것이 작동합니다. datanucleus-core를 3.0으로 바꿉니다 – Sabarish
@Sabarish, 저는 많은 버전 조합을 시도했습니다. App Engine ORM 프로젝트 (예 : JDO : 3.0.1, DataNucleus : [3.1.1,3.2), ORM : 2.1.1]에서 참조 된 항목부터 시작 : https://code.google.com/p/ JOD/datanucleus 충돌이 강화 단계의 초기에 표시되는 것 같습니다. – rsb
그래서 [this] (http://www.datanucleus.org/products/accessplatform_3_2/datastores/appengine.html)에는 올바른 정보 (GAE 문서에서 찾기가 매우 어렵습니다)가있는 것으로 보입니다 : datanucleus-appengine 2.1.1 org.datanucleus 3.1이 필요합니다 (플러그인도 일치해야합니다). 그러나 이제는 다른 빌드 오류가 발생합니다. "클래스"XXX "은 (는) 지속성이 없습니다. 이는 확장되지 않았거나 확장 버전의 파일이 CLASSPATH에 없음을 의미합니다." (mvn datanuclues : 향상 실행 잘). prolix 및 지금까지 이해할 수없는 로그 파일을 통해 웨이드하기 시작 ... – rsb