1

そのため、Eclipse で通常の Java プロジェクト IRBenchmarker を使用して、いくつかのクラスを定義しました。そのうちの 1 つは enum edu.mit.ll.irbenchmark.EvaluationMetric です。現在、Google Web Toolkit Eclipse プロジェクト IRBenchmarker-WebGUI を作成しており、クライアントが EvaluationMetric 値をパラメーターとしてサーバー上のサービスに渡すようにしたいと考えています。

Eclipse 3.4 GWT 1.6 project - how to reference source from other projects?の指示に従いました。しかし、何か間違ったことをしているに違いありません。これが私が物事をセットアップする方法です。

workspace
-- IRBenchmarker-WebGUI
   -- src
      -- edu.mit.ll.irbenchmark
         -- IRBenchmarker_WebGUI.gwt.xml
-- IRBenchmarker
   -- src
      -- edu.mit.ll.irbenchmark
         -- IRBenchmarker.gwt.xml
      -- edu.mit.ll.irbenchmark.client
         -- EvaluationMetric.java

ファイル IRBenchmarker.gwt.xml には以下が含まれます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<!--  Expose classes useful to the web client as a Google Web Toolkit module -->
<module rename-to='IRBenchmarker'>
    <inherits name='com.google.gwt.user.User' />
    <source path="client" />
</module>

ファイル IRBenchmarker_WebGUI.gwt.xml には以下が含まれます。

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='irbenchmarker_webgui'>
  <!-- Inherit the core Web Toolkit stuff.                        -->
  <inherits name='com.google.gwt.user.User'/>

  <!-- Inherit the default GWT style sheet.  You can change       -->
  <!-- the theme of your GWT application by uncommenting          -->
  <!-- any one of the following lines.                            -->
  <inherits name='com.google.gwt.user.theme.clean.Clean'/>
  <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
  <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
  <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>     -->

  <!-- Other module inherits                                      -->
  <inherits name="edu.mit.ll.irbenchmark.IRBenchmarker" />

  <!-- Specify the app entry point class.                         -->
  <entry-point class='edu.mit.ll.irbenchmark.client.IRBenchmarker_WebGUI'/>

  <!-- Specify the paths for translatable code                    -->
  <source path='client'/>
  <source path='shared'/>

</module>

IRBenchmarker-WebGUI の Eclipse Java ビルド パスには、プロジェクト IRBenchmarker が含まれています。

プロジェクトを実行してブラウザでページを表示しようとすると、

[ERROR] [irbenchmarker_webgui] - Line 124: No source code is available for type edu.mit.ll.irbenchmark.client.EvaluationMetric; did you forget to inherit a required module?

このエラーの上、「新しくコンパイルされたユニットを検証する」の下にあることに注意してください

10:57:15.767 [INFO] [irbenchmarker_webgui] Ignored 3 units with compilation errors in first pass.
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.

私は何が欠けていますか?

更新: そこで、IRBenchmarker のソースを使用して JAR ファイルを作成し、それを IRBenchmarker-WebGUI に含めます。IRBenchmarker でコードを変更するたびに jar を再構築する必要があるのは不便ですが、うまくいくようです。

4

2 に答える 2

1

DevMode 起動構成の [クラスパス] タブで、他のプロジェクトのsrcフォルダーを明示的に追加する必要がある場合があります。

于 2012-10-26T18:34:05.560 に答える
0

入れてみる

<inherits name="edu.mit.ll.irbenchmark.IRBenchmarker" />

IRBenchmarker.gwt.xml にも

モデルを保持するGWTに別のプロジェクトがあり、両方のGWT.xmlファイルにその行があります。

また、プロジェクトのフォルダー構造に一致するルート クライアントおよびサーバー パッケージが、GWT プロジェクトのまったく同じ構造に一致していることを確認してください。

于 2012-10-26T18:05:39.370 に答える