2013-04-20 1 views
0

저는 GAE, Guice, JPA 2.0 및 Jersey를 사용하는 응용 프로그램을 개발하고 있습니다. 내 persistence.xml에서 각 엔티티 클래스를 <class> 요소로 추가하는 것을 제거하고 싶습니다.GAE의 persistence.xml에 필수 엔티티 목록이 있습니까?

this question에 대한 답변은 최대 절전 모드에 대해서만 이야기하지만, AFAIK는 Google App Engine 용 JPA 공급자 만 지원합니다. DataNucleus.

내 프로젝트 구조 (내 유일한 기업은 지금 TestObject.java는 타겟 디렉토리는 메이븐을 통해 생성됩니다) :

├── README.md 
├── datanucleus.log 
├── nb-configuration.xml 
├── pom.xml 
├── src 
│   └── main 
│    ├── java 
│    │   └── cz 
│    │    └── cvut 
│    │     └── oi 
│    │      └── wa2 
│    │       ├── ioc 
│    │       │   ├── Configuration.java 
│    │       │   └── ServletListener.java 
│    │       └── rest 
│    │        ├── JSONService.java 
│    │        └── TestObject.java 
│    ├── resources 
│    │   └── META-INF 
│    │    └── persistence.xml 
│    └── webapp 
│     └── WEB-INF 
│      ├── appengine-web.xml 
│      └── web.xml 
└── target 
    ├── classes 
    │   ├── META-INF 
    │   │   └── persistence.xml 
    │   └── cz 
    │    └── cvut 
    │     └── oi 
    │      └── wa2 
    │       ├── ioc 
    │       └── rest 
    ├── generated-sources 
    │   └── annotations 
    ├── maven-archiver 
    │   └── pom.properties 
    ├── rss-reader-backend-1.0-SNAPSHOT 
    │   ├── META-INF 
    │   └── WEB-INF 
    │    ├── appengine-generated 
    │    │   └── local_db.bin 
    │    ├── appengine-web.xml 
    │    ├── classes 
    │    │   └── META-INF 
    │    │    └── persistence.xml 
    │    ├── lib 
    │    │   ├── activation-1.1.jar 
    │    │   ├── aopalliance-1.0.jar 
    │    │   ├── appengine-api-1.0-sdk-1.7.7.jar 
    │    │   ├── asm-3.1.jar 
    │    │   ├── datanucleus-api-jpa-3.0.11.jar 
    │    │   ├── datanucleus-appengine-2.0.1.jar 
    │    │   ├── datanucleus-core-3.0.11.jar 
    │    │   ├── geronimo-jpa_2.0_spec-1.1.jar 
    │    │   ├── guice-3.0.jar 
    │    │   ├── guice-persist-3.0.jar 
    │    │   ├── guice-servlet-3.0.jar 
    │    │   ├── jackson-core-asl-1.9.2.jar 
    │    │   ├── jackson-jaxrs-1.9.2.jar 
    │    │   ├── jackson-mapper-asl-1.9.2.jar 
    │    │   ├── jackson-xc-1.9.2.jar 
    │    │   ├── javax.inject-1.jar 
    │    │   ├── jaxb-api-2.2.2.jar 
    │    │   ├── jaxb-impl-2.2.3-1.jar 
    │    │   ├── jdo-api-3.0.1.jar 
    │    │   ├── jersey-core-1.17.1.jar 
    │    │   ├── jersey-guice-1.17.1.jar 
    │    │   ├── jersey-json-1.17.1.jar 
    │    │   ├── jersey-server-1.17.1.jar 
    │    │   ├── jersey-servlet-1.17.1.jar 
    │    │   ├── jettison-1.1.jar 
    │    │   ├── jta-1.1.jar 
    │    │   ├── rss-reader-backend-1.0-SNAPSHOT.jar 
    │    │   └── stax-api-1.0-2.jar 
    │    └── web.xml 
    ├── rss-reader-backend-1.0-SNAPSHOT.war 
    └── surefire 

내 요구 사항이 devstack으로 가능합니까?

답변

2

데이터 코어 코어 supports classpath scanning제외 목록에없는 클래스은 JavaEE 또는 JavaSE와 함께 사용할 때 존재하지 않습니다. 로그 (DEBUG 레벨)는 발견되는 것을 보여줍니다.

+0

나는 무엇을 해야하는지 잘 모르겠습니다. 프로젝트 구조로 질문을 업데이트했습니다. –

+0

아마 당신의 질문에 대해 생각해보십시오. DataNucleus는 CLASSPATH 스캐닝을 지원하므로 persistence.xml에 클래스 항목을 넣을 필요가 없습니다. 나는 그 대답을하고 무슨 일이 벌어지고 있는지 보는 방법으로 로그를 지적했다. "문제"가있는 경우 해당 문제를 토대로 질문을 제기하십시오. – DataNucleus

+0

App Engine/Maven을 사용하여 CLASSPATH를 편집하거나 인쇄하는 방법과 "DataNucleus가 CLASSPATH의 루트 디렉토리에서 시작하는 주석이 달린 클래스 ("META- INF/persistence.xml "파일)"은 정확히 의미합니다. –