web-dev-qa-db-ja.com

SuperDevModeを使い始める

SuperDevModeを使用して簡単なアプリを実行し、その利点を知りたいだけです。 CodeServerは正常に開始されていますが、UIでコンパイルするgwtモジュールがないと不平を言っています。私は次の手順に従いました。

  1. 新しいプロジェクトを作成するときに生成されるGWTデフォルトコードから始めました。次に、それをMavenプロジェクトに変換しました。
  2. 次に、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>
    
  3. Codeserver jarを追加し、適切なクラスパスを設定しました。

Codeserverは正常に開始されています。

   The code server is ready.
   Next, visit: http://localhost:9876/

UIを起動すると、次のようになります。 enter image description here

しかし、Dev Mode Onをクリックすると、次のようになります

enter image description here

何が悪いのか分かりません。 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>

私が間違っている場合は私を修正してください。

27

更新:v2.6は、superdevmodeの優れたサンプルランチャーを備えているように見えます(superdevmodeの http://www.gwtprojectを参照)。 .org/release-notes.html#Release_Notes_2_6_0_RC1 )2.6はいつでもリリースされます。 RC3を使用していますが、問題ないようです。詳細はこちら:


Thomas-の記事でhow SuperDevModeが機能することの詳細に感謝しますが、本当に必要なのは、トラブルシューティングを備えた段階的なガイドです。

手順は次のとおりです。うまくいかないところがたくさんあり、 SuperDevモードのページ はそれほど具体的ではありません。うまくいけば、これはそれを明らかにします:

  1. 追加の行を使用してモジュールの.gwt.xmlファイルを構成します(これはモジュール定義の下部、つまり</module>の直前に配置する必要があります):
<add-linker name="xsiframe"/>
<set-configuration-property name="devModeRedirectEnabled" value="true"/>
<!-- enable source maps -->
<set-property name="compiler.useSourceMaps" value="true" />
  1. 標準のGWTコンパイルプロセスを実行します。Eclipseでは、これは「GWTコンパイルプロジェクト...」です。これは、GWTコードをデプロイするときに通常行うことです。間違いなく、これを行うmavenまたはantコマンドがあります。

  2. GWTコードの開発時に通常使用する通常のWebサーバーを起動します。たとえば、通常のDevModeで使用したもの。これをlocalhost:8888と呼びます。通常は起動するページがindex.htmlであると想定して、http://localhost:8888/index.htmlにGWTアプリを表示します。 (通常、そのURLには通常?gwt.codesvr=127.0.0.1:9997があります)

  3. SuperDevModeサーバーを起動します(2つの方法については、この回答の下部を参照してください)。これで、2つのWebサーバーが異なるポートで実行されています。したがって、SuperDevModeがlocalhost:1234で実行されているとしましょう。この回答の最後に、SuperDevModeを開始する方法をいくつか投稿しました。

  4. ブラウザでSuperDevModeサーバーをポイントし、http://localhost:1234を指定します。指示に従って、2つのショートカットをアドレスバーにコピーします

  5. 次に、ブラウザで通常のWebサーバーをポイントし、http://localhost:8888/index.html-しないでくださいURLに?gwt.codesvr=127.0.0.1:9997を追加します-これはNotSuper DevMode。 (つまり、通常のDevMode)

  6. 手順5でコピーしたショートカットリンク「DevMode On」をクリックします。コンパイルするモジュールを選択するように求められます。[コンパイル]ボタンをクリックします。

  7. ソースマップが必要な場合(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 Laucherから

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インストールディレクトリ)。

64
Tom Carchrae

私は少し異なるアプローチをとりました。既存の 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で[C​​lick Me]をクリックします。コードは、ChromeのJavaファイルのデバッグポイントで停止します!!!!!!!!ばんざーい。

スクリーンショットの参照- http://geekbybit.blogspot.in/2013/03/diy-working-with-gwt-codeserver-Tomcat.html

enter image description here

8
appbootup

これがどのように機能するかについては本当に良い説明があります: http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/

小冊子をブラウザにドラッグする必要があります。次に、通常のようにアプリケーションを起動します。 "?gwt.codesvr = 127.0.0.1:9997"の部分がないブラウザでアプリを開きます。これで、小冊子を使用してSuperDevModeを開始できます。

お役に立てれば。

4
Arne

マルチモジュールのmaven gwtプロジェクトでは、実行構成にソースの場所(ベースプロジェクトとモジュール)を追加する必要があります。

-src src/main/Java/ -src ${workspace_loc:MyNewModule}/src/main/Java/ com.foo.MyModule
0
paralen