SuperDevModeを使用して簡単なアプリを実行し、その利点を知りたいだけです。 CodeServerは正常に開始されていますが、UIでコンパイルするgwtモジュールがないと不平を言っています。私は次の手順に従いました。
次に、gwt.xmlファイルを変更してリンカーを追加しました。これが私のgwt.xmlのコピーです
<module rename-to='superdevmode'>
<inherits name='com.google.gwt.user.User' />
<inherits name='com.google.gwt.user.theme.clean.Clean' />
<entry-point class='superDevMode.client.SuperDevMode' />
<add-linker name="xsiframe" />
<set-configuration-property name="devModeRedirectEnabled"
value="true" />
</module>
Codeserver jarを追加し、適切なクラスパスを設定しました。
Codeserverは正常に開始されています。
The code server is ready.
Next, visit: http://localhost:9876/
UIを起動すると、次のようになります。
しかし、Dev Mode Onをクリックすると、次のようになります
何が悪いのか分かりません。 POMエントリは次のようになります。
<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>
<groupId>superDevMode</groupId>
<artifactId>superDevMode</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
私が間違っている場合は私を修正してください。
更新:v2.6は、superdevmodeの優れたサンプルランチャーを備えているように見えます(superdevmodeの http://www.gwtprojectを参照)。 .org/release-notes.html#Release_Notes_2_6_0_RC1 )2.6はいつでもリリースされます。 RC3を使用していますが、問題ないようです。詳細はこちら:
Thomas-の記事でhow SuperDevModeが機能することの詳細に感謝しますが、本当に必要なのは、トラブルシューティングを備えた段階的なガイドです。
手順は次のとおりです。うまくいかないところがたくさんあり、 SuperDevモードのページ はそれほど具体的ではありません。うまくいけば、これはそれを明らかにします:
</module>
の直前に配置する必要があります):<add-linker name="xsiframe"/>
<set-configuration-property name="devModeRedirectEnabled" value="true"/>
<!-- enable source maps -->
<set-property name="compiler.useSourceMaps" value="true" />
標準のGWTコンパイルプロセスを実行します。Eclipseでは、これは「GWTコンパイルプロジェクト...」です。これは、GWTコードをデプロイするときに通常行うことです。間違いなく、これを行うmavenまたはantコマンドがあります。
GWTコードの開発時に通常使用する通常のWebサーバーを起動します。たとえば、通常のDevModeで使用したもの。これをlocalhost:8888と呼びます。通常は起動するページがindex.htmlであると想定して、http://localhost:8888/index.html
にGWTアプリを表示します。 (通常、そのURLには通常?gwt.codesvr=127.0.0.1:9997
があります)
SuperDevModeサーバーを起動します(2つの方法については、この回答の下部を参照してください)。これで、2つのWebサーバーが異なるポートで実行されています。したがって、SuperDevModeがlocalhost:1234
で実行されているとしましょう。この回答の最後に、SuperDevModeを開始する方法をいくつか投稿しました。
ブラウザでSuperDevModeサーバーをポイントし、http://localhost:1234
を指定します。指示に従って、2つのショートカットをアドレスバーにコピーします
次に、ブラウザで通常のWebサーバーをポイントし、http://localhost:8888/index.html
-しないでくださいURLに?gwt.codesvr=127.0.0.1:9997
を追加します-これはNotSuper DevMode。 (つまり、通常のDevMode)
手順5でコピーしたショートカットリンク「DevMode On」をクリックします。コンパイルするモジュールを選択するように求められます。[コンパイル]ボタンをクリックします。
ソースマップが必要な場合(JavaスクリプトブラウザーでChromeソースコードを参照)、Chromeでオンにする必要があります。私のバージョンのChrome(Ubuntu)では、Chromeコンソールの右下に小さなギアがあります(要素を検査してから、ブラウザウィンドウの右下を見てください)。それをクリックして、「ソースマップを有効にする」を見つけます。ページをリロードすると、ソースコードが表示されます。
スーパー開発モードを起動する2つの方法:
Java -classpath $GWT_HOME/gwt-codeserver.jar:$GWT_HOME/gwt-dev.jar:$GWT_HOME/gwt-user.jar:app:./lib/* com.google.gwt.dev.codeserver.CodeServer \
-bindAddress 0.0.0.0 -port 1234 -src src -workDir work com.foo.MyModule
Eclipseで、次の構成で新しいJava Application Launcher(notWeb Application Launcher!)を作成します。
メインクラス:
com.google.gwt.dev.codeserver.CodeServer
プログラム引数:
-src src -workDir ${workspace_loc:MyProject}/codeserver -port 1234 com.foo.MyModule
-workDir
はオプションです
VM引数(プロジェクトのサイズによっては、これらが必要になる場合があります。superdevmodeの[コンパイル]ボタン(ブラウザー内)をクリックした直後に表示されなくなった場合そして何も起こらないようです、それはメモリ不足のためにクラッシュしているかもしれません)
-Xmx1024m -Xms512m
Classpath:gwt-codeserver.jar、gwt-dev.jar、gwt-user.jarを起動クラスパスに追加します(これらのjarはGWTにあります) SDKインストールディレクトリ)。
私は少し異なるアプローチをとりました。既存の Helloプロジェクト から始めて、スーパー開発モードで動作するように構成しました。
A。 helloプロジェクトの戦争をビルドしてTomcatにデプロイします。
B。 Helloプロジェクトのbuild.xmlにターゲットを追加します。
_<target name="codeserver" depends="javac" description="Run Code Server mode">
<Java failonerror="true" fork="true" classname="com.google.gwt.dev.codeserver.CodeServer">
<classpath>
<pathelement location="src"/>
<path refid="project.class.path"/>
<pathelement location="../../gwt-codeserver.jar" />
<pathelement location="../../validation-api-1.0.0.GA.jar" />
<pathelement location="../../validation-api-1.0.0.GA-sources.jar" />
</classpath>
<jvmarg value="-Xmx1024M"/>
<arg value="-bindAddress"/>
<arg value="0.0.0.0"/>
<arg line="-port"/>
<arg value="9876"/>
<arg value="-workDir"/>
<arg value="workDir"/>
<arg line="-src"/>
<arg value="src"/>
<arg value="com.google.gwt.sample.hello.Hello"/>
</Java>
</target>
_
C。コマンドプロンプトから_ant codeserver
_を使用してコードサーバーを実行します。
D。ブラウザを起動して_http://localhost:9876/
_に移動し、ブックマークを作成します
E。 Chrome開発ツール(F12)を起動し、SourceMapsを有効にします。
F。ブラウザを起動して_http://localhost:8080/Hello
_に移動します
G。ページにいるときに「Dev Mode ON」ブックマークをクリックします_http://localhost:8080/Hello
_
H。「コンパイル」ボタンをクリックして、コードサーバーにgwtソースコードをソースマップとしてブラウザーに読み込むように指示します。
I。ばんざーいJavaファイルがフェッチされ、Chrome開発コンソールのsourceタブに表示されます。
J。 Hello.Javaを見つけます。行番号をクリックして、デバッグポイント@ Window.alert("Hello, AJAX");
を設定します。
K。 Hello Worldで[Click Me]をクリックします。コードは、ChromeのJavaファイルのデバッグポイントで停止します!!!!!!!!ばんざーい。
スクリーンショットの参照- http://geekbybit.blogspot.in/2013/03/diy-working-with-gwt-codeserver-Tomcat.html
これがどのように機能するかについては本当に良い説明があります: http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/
小冊子をブラウザにドラッグする必要があります。次に、通常のようにアプリケーションを起動します。 "?gwt.codesvr = 127.0.0.1:9997"の部分がないブラウザでアプリを開きます。これで、小冊子を使用してSuperDevModeを開始できます。
お役に立てれば。
マルチモジュールのmaven gwtプロジェクトでは、実行構成にソースの場所(ベースプロジェクトとモジュール)を追加する必要があります。
-src src/main/Java/ -src ${workspace_loc:MyNewModule}/src/main/Java/ com.foo.MyModule