2013-06-07 7 views
2

방금 ​​GWT 2.5.1 SDK를 다운로드했습니다.GWT DevMode Jetty restart가 서버 코드 변경을 준수하지 않습니다.

./webAppCreator -out/홈/참고 MyUser/tmp를/dummygwt/com.dummygwt.OhHai에게

을 그리고 그것은 나를 위해 GWT 프로젝트를 만든 : 나는 달렸다. 그때 /home/myUser/tmp/dummygwt/에 탐색 및 실행 :

개미 -buildfile build.xml 파일 DEVMODE

을 그리고 GWT 개발 모드 도구를 시작하고 나는 파이어 폭스에서 내 "OhHai"응용 프로그램을 가져 Launch Default Browser를 클릭했습니다.

그런 다음 /home/myUser/tmp/dummygwt/src/com/dummygwt/server/GreetingServiceImpl.java으로 이동하여 편집 할 수 있도록 열었습니다. GreetingServiceImpl#greetServer 메서드의 반환 값을 "Hello,"대신 "Bonjourno,"으로 시작하도록 변경했습니다. 이렇게하면 이름을 입력하고 "보내기"버튼을 클릭하면 팝업 대화 상자에 "Bonjourno, ..."가 표시됩니다. (. 난 그냥 장난이 재미있어) 나는 (GWT 데브 모드 도구 내에서) 다음 GreetingServiceImpl.java 내 변경 사항을 저장하고

, 부두 탭으로 이동하고 Restart Server을 클릭하면 다음과 같은 경고를 가지고 :

00 : 14 : 25.446 서버 클래스 'com.google.gwt.dev.shell.jetty.JDBCUnloader'웹 응용 프로그램에서 찾을 수 없습니다,하지만 시스템 클래스 경로에서 발견되었다 [WARN]

00 : 14 : 25.446 [WARN]이 세션의 웹 앱 클래스 경로에 classpath 항목 'file : /home/myUser/sandbox/dsi/workbench/gwt-sdk/gwt-2.5.1/gwt-dev.jar'추가하기,210 상세 정보 : 파일 : /home/myUser/sandbox/dsi/workbench/gwt-sdk/gwt-2.5.1/doc/helpInfo/webAppClassPath.html

내 브라우저를 새로 고쳐

새 이름을 입력 "보내기"를 클릭하십시오. "Bonjourno, ..."대신에 "Hello, ..."가 표시됩니다.. 잘못된 것이 있습니까? 아니면 GWT Dev Mode 도구의 버그입니까? 미리 감사드립니다!

는 : 나는 데브 모드를 다시 실행 한 후 데브 모드 도구를 종료 (그리고 브라우저의 탭을 닫고) 경우, 서버 측 영향을 받아 할 변경됩니다. 그러나 GWT 문서는 서버 쪽 코드를 "빠르게 배포"하기 위해 도구에서 서버를 다시 시작해야한다고 말합니다. 도구를 종료하고 도구를 모두 다시 시작하지 않아도됩니다.

+2

당신이 확인하고 URL이 PARAM을 포함 gwt.codesrv = ... ?? – futuretelematics

+0

감사 @futuretelematics (+1) - 예 브라우저가 열리고 URL이'을 http : //127.0.0.1 : 8888/OhHai.html gwt.codesvr = 127.0.0.1 : 9997' 그러나 나는 **하지 * * GWT Developer Plugin에 대한 정보. 나는 그것이 어떻게 든 자동 설치되는 것이라고 생각했을 정도로 그것을 설치할 것을 묻지 않았다. (1) 그렇지 않은 경우, 어떻게 설치할 수 있습니까? 그리고 (2) 왜 브라우저 플러그인이 서버 측 코드를 핫 배포하지 못하게합니까? 감사! – IAmYourFaja

+1

안녕하세요! 브라우저에서 GWT 부두 서버에 최신 코드를 요청하려면 Mozilla 용 GWT 브라우저 플러그인이 필요합니다. 최신 GWT 브라우저 플러그인은 https://gwt.googlesource.com/gwt-plugins/에서 구할 수 있습니다. Mozilla 이외의 다른 브라우저를 사용하는 경우 http://gwt.google.com/missing-plugin으로 이동하는 것이 더 쉽습니다. /MissingPlugin.html (다른 시스템의 경우 ** plugins을 클릭하십시오 **) – futuretelematics

답변

4

저는 변경 후에 GreetingServiceImpl.java를 다시 컴파일하기 만하면된다. 서버를 다시 시작해도 모든 것을 당신을 위해 마술처럼 재 컴파일하지는 않습니다 (그러나 일반적으로 IDE가됩니다).

핫 배포는 "핫 컴파일 배포"와 다릅니다.

3

GWT DevMode를 실행하면 클라이언트 Java 클래스의 변경 사항 만 모니터링합니다.

클라이언트 네임 스페이스 (src/com/dummygwt/client 또는 src/com/dummygwt/shared)의 클래스를 수정하고 브라우저에서 페이지를 다시로드하면 변경 사항이 표시됩니다.당신은 서버 측 클래스를 변경할 때

그럼에도 불구하고, 당신은 부두 서버를 다시로드하기 전에 컴파일해야합니다.

텍스트 편집기를 사용하여 서버 측 (즉, GreetingServiceImpl.java)에서 클래스를 수정 한 다음 ant javac을 다른 터미널에서 실행하고 GreetingServiceImpl.class가 업데이트되고 마지막으로 '서버 재시작'버튼을 누르면 변경 사항이 표시됩니다 . 이클립스 내에서 클래스를 편집하는 경우 기본적으로 이클립스 그래서 서버가 충분하다 다시로드, 계속 된 .class하는 .java 파일을 컴파일하도록 구성되어 있기 때문에

이 과정은 매우 간단합니다.

+0

감사! 그게 나에게 비슷한 문제 하나를 해결했습니다! – apanizo

0

이름은 단순한 통화 캐시입니다 당신이 그것을 다시로드해야 settigs에 대한 것은 적용됩니다. 여러 가지 방법으로 다시로드 할 수 있습니다, 당신은 단지 한 마녀가 당신을 위해 쉽게 픽업해야합니다. 닫기/열기가 하나 인 경우 종료하지 않고 웹 브라우저에서 정리할 수도 있습니다. 브라우저가 GWT 개발자 플러그인이 설치된 경우