2012-02-02 3 views
6

私のgrailsプロジェクト(ビルドしたモジュール)の依存関係は、ビルドプロセスの一環としてflex app)を使用してmaven-assembly-pluginを実行します。このファスナーは、モジュールとしてのモジュールすなわちGrailsは自分のリポジトリ内のzipをプラグインとして解釈していますが、実際にはプラグインではありません。

.m2/repository/com/mypackage/domain/1.0.0-SNAPSHOT/domain-1.0.0-SNAPSHOT.jar 
.m2/repository/com/mypackage/domain/1.0.0-SNAPSHOT/domain-1.0.0-SNAPSHOT-generated-tos.zip 

の構築から出力されたjarファイルと同じディレクトリにある私の地元のMVNレポに出力されjarおよびzipがあり、私のGrailsプロジェクトに(推移)依存であります両方ともivy-cacheにキャッシュされています

Grailsアプリケーションを起動しようとすると、Grailsはこのzipをキャッシュから検出しているようですが、プラグインとしてインストールしようとしているようです。

| Loading Grails 2.0.0 
| Configuring classpath. 
| Environment set to development..... 
| Error Zip ~/.grails/ivy-cache/com.mypackage/domain/zips/domain-1.0.0-SNAPSHOT-generated-tos.zip is not a valid plugin 

ジップはビルドする必要があります別のモジュールがmvn-dependency-pluginを使用してビルドプロセスの一部としてパッケージを展開するときに、リポジトリに追加します。そのため、Grailsにプラグインのzipではないので無視するように指示する方法を見つける必要があります。これは可能ですか?

+0

ジェイは、あなたがこの問題を解決しましたか?私は現時点で全く同じ問題に直面しています。 – jboutros

+0

申し訳ありません、私はこれまでに答えたはずです - maven-assembly-pluginが生成されたActionScriptファイルをzipの代わりにrarとしてパッケージ化して、Grailsがプラグインとして解釈する問題を修正しました。私は今それをしてからしばらくしていますので、私は解決策がありません - ごめんなさい。 –

答えて

0

これは、デフォルトではプラグインのパッケージ化がzipであり、そのフォーマットに依存するアーカイブはプラグインとみなされるからです。私はそれがBuildConfig.groovyの設定で行うことをすべてしたことを前提としていますこれをテストすることなく

def excludes = { 
    transitive = false 
} 
0

:除外は、デフォルトで推移的にする

してみてください。

プラグインブロック内のものはプラグインzipと見なされますが、依存関係ブロック内に入れたものはそのままの状態で組み込む必要があります。

プロジェクトを誤って設定してしまって、問題が発生しました。以下の例では、テストされていません:)

dependencies { 
    compile "my.project:artifact:0.1.0:zip" 
} 
plugins { 
    compile "my.project:artifact:0.1.0" // Automatic found as a zip project 

}

関連する問題