2011-08-26 2 views
0

방금 ​​GWT 및 Google App Engine을 배우기 시작했습니다. 여기로 좋든 나쁘 든, 나는 구글 앱 엔진 튜토리얼에 배포를하고 시작 :Google App Engine 튜토리얼 확장기 예외에 배치

http://code.google.com/webtoolkit/doc/latest/tutorial/RPC.html

I : 여기 발견이 튜토리얼은 RPC 튜토리얼을 기반으로

http://code.google.com/webtoolkit/doc/latest/tutorial/appengine.html

StockWatcher 프로젝트를 다운로드하고 문제없이 RPC 자습서를 작성한 다음 "Google App Engine에 배포"자습서를 계속 진행하기 위해 다시 돌아 왔습니다.

나는 이클립스를 사용하고 있습니다,하지만 난

모두 "(이클립스없이) 프로젝트를 설정"하는 명령 섹션을 따르도록했다 때문에 RPC 자습서를 한 사람이하지 않았다 같은데요 앱을 테스트하기 위해 튜토리얼의 마지막 단계에 도달 할 때까지 잘 진행되었다. 내가 줄을 얻을 때 :

목록 주식 = (목록) q.execute (getUser());

src/com.google.gwt.sample.stockwatcher.server/StockServiceImpl.java 파일에 있습니다. 전체 코드는 자습서에 있으므로 여기서는 업로드하지 않겠습니다.

javax.jdo.JDOFatalUserException : com.google.gwt.sample.stockwatcher.server.Stock 없음 메타 데이터

q.execute() 문은 다음과 같은 예외가 발생합니다. 아마도이 수업에서 강화제를 사용해야할까요? NestedThrowables : org.datanucleus.store.appengine.FatalNucleusUserException : com.google.gwt.sample.stockwatcher.server.Stock에 대한 메타 데이터가 없습니다. 아마도이 수업에서 강화제를 사용해야할까요?

나는 진전없이 며칠 동안 노력했다. 나는 "강화 자"를 어떻게 운영하는지 이해하지 못한다. 이것은 도구의 이름이며 Enhancer에 고유 명사를 대문자로 사용하는 것을 잊어 버렸습니까?

처음부터 프로젝트를 만들지 않았기 때문에 의심 스럽습니다. 시작 지점으로 RPC 프로젝트를 다운로드 할 때 필요한 튜토리얼이 없습니다. 나는 "증강"에 대한 제안이 무엇을 의미하는지 모르겠지만, 난 그 도움이된다면 build.xml 파일에서이 섹션을 참조했다

....

name="datanucleusenhancer" 
    classpathref="tools.class.path" 
    classname="org.datanucleus.enhancer.tools.EnhancerTask" /> 
<datanucleusenhancer 
    classpathref="tools.class.path" 
    failonerror="true"> 
    <fileset dir="war/WEB-INF/classes" includes="**/*.class" /> 
</datanucleusenhancer> 

사람이 나에게 힌트를 줄 수 내가 뭘 잘못 했니? 감사.

@PersistenceCapable (identityType = IdentityType.APPLICATION)

이 만드는 것 :

는 더 스나크는

답변

0

조심스럽게 다시 튜토리얼을 통과 한 후, 나는 Stock.java에 다음 줄을 놓친주세요 문제는 사라지지만 메시지가 어떻게 도움이되는지는 알 수 없습니다.

avax.jdo.JDOFatalUserException : com.google.gwt.sample.stockwatcher.server.Stock에 대한 메타 데이터가 없습니다. 아마도이 수업에서 강화제를 사용해야할까요? NestedThrowables : org.datanucleus.store.appengine.FatalNucleusUserException : com.google.gwt.sample.stockwatcher.server.Stock에 대한 메타 데이터가 없습니다. 아마도이 수업에서 강화제를 사용해야할까요?

우선, 당신이하고 싶지 않은 "인핸서를 실행하는"것이 좋습니다. 그렇게하지 않으면 인핸서를 실행하는 방법을 알 수 없으므로 도움이되지 않을 수도 있습니다. 또한이 행에서 메타 데이터를 작성하는 방법에 대한 자습서의 설명이있는 곳을 볼 수 없습니다. 이 내용은 "주의 사항"의 코드 절에 설명되어 있지 않습니다.

+0

나는 이것을 "대답"임을 확인하기 위해 남겨 둘 것입니다. – Mitch

+0

동일한 오류가 발생합니다 ... 심지어 @PersistenceCapable을 작성했습니다 ... 아직도 오류가 있습니다 ... 그 밖의 무엇이 잘못 될 수 있습니까? – SRK

0

앞의 대답에서 언급 한 클래스 주석 이외에도 필드에 getters와 setter가 있는지 확인하십시오. 특히 getId() 함수가없는 문제가있었습니다.

@PrimaryKey 
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) 
    private Long id; 

    public Long getId() { 
    return this.id; 
    }