2015-01-06 2 views
2

"appengine"유형의 사용 가능한 StoreManager가 없습니다. 관련 DataNucleus 저장소 플러그인을 CLASSPATH에 넣었는지 확인하고 JNDI 또는 DataSource를 통해 연결을 정의하는 경우 지속성 속성 "datanucleus.storeManagerType"도 제공해야합니다."appengine"유형의 사용 가능한 StoreManager가 없습니다.

시도 할 때 위 오류가 나타납니다. 객체를 지속시킨다. 누구든지 어떤 제안이 있습니까?

내 POM 및 jdoconfig은 다음과 같습니다 : 유형 "에서 appengine"의 사용 가능한 StoreManager가 없습니다

<?xml version="1.0" encoding="utf-8"?> 
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd"> 
    <persistence-manager-factory name="transactions-optional"> 
     <property name="javax.jdo.PersistenceManagerFactoryClass" value="org.datanucleus.api.jdo.JDOPersistenceManagerFactory" /> 
     <property name="javax.jdo.option.ConnectionURL" value="appengine"/> 
     <property name="javax.jdo.option.NontransactionalRead" value="true"/> 
     <property name="javax.jdo.option.NontransactionalWrite" value="true"/> 
     <property name="javax.jdo.option.RetainValues" value="true"/> 
     <property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/> 
     <property name="datanucleus.appengine.singletonPMFForName" value="true"/> 
    </persistence-manager-factory> 
</jdoconfig> 

의 pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<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> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 

    <groupId>entprog</groupId> 
    <artifactId>bookapi</artifactId> 

    <properties> 
     <appengine.app.version>1</appengine.app.version> 
     <appengine.target.version>1.9.17</appengine.target.version> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
     <!-- Compile/runtime dependencies --> 
     <dependency> 
      <groupId>com.google.appengine</groupId> 
      <artifactId>appengine-api-1.0-sdk</artifactId> 
      <version>${appengine.target.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.glassfish.jersey.containers</groupId> 
      <!-- if your container implements Servlet API older than 3.0, use "jersey-container-servlet-core" --> 
      <artifactId>jersey-container-servlet-core</artifactId> 
      <version>2.2</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.jdo</groupId> 
      <artifactId>jdo-api</artifactId> 
      <version>3.0.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.datanucleus</groupId> 
      <artifactId>datanucleus-api-jdo</artifactId> 
      <version>4.0.4</version> 
     </dependency> 
     <dependency> 
     <groupId>org.datanucleus</groupId> 
      <artifactId>datanucleus-core</artifactId> 
      <version>4.0.4</version> 
     </dependency> 
     <dependency> 
      <groupId>com.google.code.gson</groupId> 
      <artifactId>gson</artifactId> 
      <version>2.3.1</version> 
     </dependency>   
     <dependency> 
      <groupId>com.fasterxml.jackson.dataformat</groupId> 
      <artifactId>jackson-dataformat-xml</artifactId> 
      <version>2.4.0</version> 
     </dependency> 
     <!-- Test Dependencies --> 
     <dependency> 
      <groupId>com.google.appengine</groupId> 
      <artifactId>appengine-testing</artifactId> 
      <version>${appengine.target.version}</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.google.appengine</groupId> 
      <artifactId>appengine-api-stubs</artifactId> 
      <version>${appengine.target.version}</version> 
      <scope>test</scope> 
     </dependency>   
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <version>2.5.1</version> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.3</version> 
       <configuration> 
        <archiveClasses>true</archiveClasses> 
        <webResources> 
         <!-- in order to interpolate version from pom into appengine-web.xml --> 
         <resource> 
          <directory>${basedir}/src/main/webapp/WEB-INF</directory> 
          <filtering>true</filtering> 
          <targetPath>WEB-INF</targetPath> 
         </resource> 
        </webResources> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>com.google.appengine</groupId> 
       <artifactId>appengine-maven-plugin</artifactId> 
       <version>${appengine.target.version}</version> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

답변

0

따라서 GAE/Datastore에서 지속하려면 CLASSPATH에 "datanucleus-appengine"항아리를 넣지 마십시오. 메시지가 분명합니다.

0

. 관련 DataNucleus 스토어 플러그인을 CLASSPATH에 넣었는지 확인하고 JNDI 또는 DataSource를 통해 연결을 정의하는 경우 지속성 속성 "datanucleus.storeManagerType"을 제공해야합니다.

관련 문제