2

AntIvyビルドを使用してDevModeで動作する単純なGWT2.3プロジェクトを取得しようとしています。2.3より前のGWTプロジェクト(特にGWT 2.0.x)にIvyを使用しましたが、過去に次の依存関係(Ivyモジュールのxmlファイル内)が機能していました:(Ivy構成の特定の名前を削除しました、およびそれらを以下の「...」として表示します。)

<dependency org="com.google.gwt" name="gwt-dev" rev="2.3.0" conf="..." />
<dependency org="com.google.gwt" name="gwt-servlet" rev="2.3.0" conf="..." />
<dependency org="com.google.gwt" name="gwt-user" rev="2.3.0" conf="..." />

しかし、私のgwt-compile(GWTのJava-to-Javascriptコンパイラが呼び出されたとき)は、GWT2.3で上記を使用すると失敗します。特に、次のようないくつかのエラーがあります。

[java] [ERROR] Errors in 'jar:file:/../gwt-user-2.3.0.jar!/com/google/gwt/editor/client/EditorDriver.java'
[java] [ERROR] Line 97: No source code is available for type javax.validation.ConstraintViolation<T>; did you forget to inherit a required module?

関連する可能性のある参照をオンラインで検索した後、ソースから2.3のリリース候補を作成しているときに、同様の問題に関するこのようなスレッドを見つけました。これらのスレッドは、コンパイルクラスパスに含める必要があることを頻繁に言及しています。これは、GWT問題追跡システムでのこの問題に関する作業の成果であるように見えます。gwt-servlet-deps.jar

もちろん、アイビーの場合、それは私が見ているアドバイスとはまったく同じではありません。上記の<dependency...ルールはダウンロードしていないようですgwt-servlet-deps.jar(そのjarの特別なコピーが見つかるGWTの公式ディストリビューションをダウンロードするのとは対照的です)。

だから私はアイビーの世界ではおそらく次のようなものを追加する必要があると推論しました:

<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA" conf="..."/>

...そして私はそのアイデアを持っていてもかなり悪いと思っていました(私はIvy&Mavenの世界では永遠の初心者のようです)が、残念ながら、私はまだ同じエラーを受け取っています。

どうやら、Java-to-Javascriptコンパイラは、バイトコードjarだけでなく、ソースを必要としているようですが、Ivyにそれらを取得するように指示する方法がわかりません。2つの検証jar(バイトコードとソースの両方)をlibにコピーするAntタスクを示すこのスレッドを見つけたので、私は近くにいるように感じますが、Ivyの世界のドットを接続するためにいくつかの助けが必要です。

Ivyにソースjarを取得するように指示するにはどうすればよいですか?

4

2 に答える 2

2
<?xml version="1.0" encoding="UTF-8"?> 
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd" 
xmlns:m="http://ant.apache.org/ivy/maven"> 

<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA"> 
<artifact name="validation-api"/> 
<artifact name="validation-api" m:classifier="sources"/> 
</dependency> 

ソース: http: //groups.google.com/group/google-web-toolkit/browse_thread/thread/4744e62fb088ba60?pli = 1

FilipeSousaに感謝します

于 2011-05-06T11:51:56.023 に答える
1

リポジトリがivy-repository(アーティファクトのivy.xmlファイル)である場合、この回答が役立つ場合があります。

ソースを含む検証APIの設定を指定する必要があります。

<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA" conf="compile->sources"/>

ここで、compileはローカル構成であり、sourcesはソースを含むjarの構成になります。

検証用のivy.xml-apiは次のようになっている必要があります(リポジトリでどのように表示されるかわかりません)。

<configurations>
    <conf name="compile" visibility="public"/>
    <conf name="source" visibility="public"/>
</configurations>
<publications>
   <artifact name="validation-api" type="jar" conf="compile" ext="jar"/>
   <artifact name="validation-api-src" type="jar" conf="source" ext="jar"/>
</publications>

これにより、使用可能な検証API用のjarが2つあることがivyに通知されます。1つは通常のもの(コンパイル)、もう1つは特別なもの(ソース付き)です。また、取得するconfを指定する必要があります。

于 2011-05-06T06:46:54.850 に答える