1

ivy構成を介してプロジェクト用のmvp4gjarを追加しました。正しく追加され、mvp4gのgwt.xmlファイルの行にも言及しています。しかし、アプリケーションをコンパイルしようとすると、次のエラーが発生します。

継承されたモジュール'com.mvp4g.Mvp4gModule'を読み込んでいます[エラー]クラスパスに'com/ mvp4g/Mvp4gModule.gwt.xml'が見つかりません。タイプミスの可能性がありますか、ソースのクラスパスエントリを含めるのを忘れた可能性がありますか?[エラー]13行目:要素の処理中に予期しない例外が発生しました'com.google.gwt.core.ext.UnableToCompleteException :(前のログエントリを参照)com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java :278)com.google.gwt.dev.cfg.ModuleDefSchema $ BodySchema .__ inherits_begin(ModuleDefSchema.java:495)at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java :25)at java.lang.reflect.Method.invoke(Method.java:597)at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:

これについて私を助けてください。

4

1 に答える 1

0

分析

プロジェクトのホームページを調べたところ、欠落しているXMLファイルが実際にはjarファイル内にあることがわかりました。

unzip -t ./Mvp4g_Layout_Part2/war/WEB-INF/lib/mvp4g-1.4.0.jar | grep xml
testing: com/mvp4g/Mvp4gModule.gwt.xml   OK
testing: META-INF/maven/com.googlecode.mvp4g/mvp4g/pom.xml   OK

つまり、はivyによってダウンロードされた可能性がありますが、コンパイルクラスパスには存在しません。

予測

jarの使用方法を指定していないため、上記のエラーがANTjavacタスクによってスローされたと想定する必要があります。

ivy.xml

ivyで依存関係を宣言し、次のようにコンパイル構成に関連付けます。

<ivy-module version="2.0">
    <info organisation="com.myspotontheweb" module="demo"/>

    <configurations>
        <conf name="compile" description="Required to compile application"/>
    </configurations>

    <dependencies>
        <dependency org="com.googlecode.mvp4g" name="mvp4g" rev="1.4.0" conf="compile->default"/>
    </dependencies>

</ivy-module>

build.xml

ANTファイルでは、ivy cachepathタスクを使用して、ivy管理のANTパスを作成します。

<target name="init">
    <ivy:resolve/>

    <ivy:report todir='${ivy.reports.dir}' graph='false' xml='false'/>

    <ivy:cachepath pathid="compile.path" conf="compile"/>
</target>

このパスは、javacタスク(またはクラスパス参照を受け入れることができる他のANTタスク)で通常どおりに使用されます。

<target name="compile" depends="init">
    <javac srcdir="${src.dir}" destdir="${classes.dir}" includeantruntime="false" debug="true" classpathref="compile.path"/>
</target>
于 2012-05-28T17:18:33.043 に答える