2012-02-21 8 views
2

デフォルト設定を使用してローカルホストにArchivaインスタンスをセットアップしました。私はarchivaのインスタンスに解決するためにいくつかの異なるGradleの設定を試しましたが、うまくいかないようです。 mavenRepoを用いローカルホストでMaven Repoを解決していないGradle

  1. 達人アイビーを使用してのみ(私はアイビーを使用した場合に働い)アーティファクトパターン

build.gradle

subprojects { 
    apply plugin: 'java' 
    apply plugin: 'maven' 

    repositories { 
     mavenRepo url: 'http://localhost:8080/archiva', artifactUrls: [ 
      'http://localhost:8080/archiva/repository/internal', 
      'http://localhost:8080/archiva/repository/snapshot' 
     ] 
     maven { url 'http://localhost:8080/archiva' } 
     ivy { 
      artifactPattern 'http://localhost:8080/archiva/repository/internal/[organisation]/[artifact]/[revision]/[artifact](-[revision]).[ext]' 
     } 
     mavenCentral() 
    } 

    dependencies { 
     testCompile group: 'junit', name: 'junit', version: '4.10' 
    } 
} 

dependsOnChildren() 

Iを特定

  • それは任意の/すべてのサブプロジェクトのgradleファイルが適切な投稿だとは思わなかったが、もし私はそれが必要であると思う。

    ここに何か不足していますか? gradhostはローカルホスト以外のホストとは異なる扱いをします(mavenCentralの依存関係が解決されているため)? GradleにMavenレポのローカルインスタンスを解決させるにはどうすればよいですか?

    EDIT: @Peter Niederwieser

    :/> gradle build 
    > Loading > Resolving dependencies ':projects:project-plugin-framework:classpat 
    :projects:compileJava UP-TO-DATE 
    :projects:processResources UP-TO-DATE 
    :projects:classes UP-TO-DATE 
    :projects:jar UP-TO-DATE 
    :projects:assemble UP-TO-DATE 
    :projects:compileTestJava UP-TO-DATE 
    :projects:processTestResources UP-TO-DATE 
    :projects:testClasses UP-TO-DATE 
    :projects:test UP-TO-DATE 
    :projects:check UP-TO-DATE 
    :projects:build UP-TO-DATE 
    :projects:project-plugin-framework:compileJava UP-TO-DATE 
    :projects:project-plugin-framework:processResources UP-TO-DATE 
    :projects:project-plugin-framework:classes UP-TO-DATE 
    :projects:project-plugin-framework:jar UP-TO-DATE 
    :projects:project:compileJava UP-TO-DATE 
    :projects:project:processResources UP-TO-DATE 
    :projects:project:classes UP-TO-DATE 
    :projects:project:jar UP-TO-DATE 
    :projects:project:assemble UP-TO-DATE 
    :projects:project:compileTestJava UP-TO-DATE 
    :projects:project:processTestResources UP-TO-DATE 
    :projects:project:testClasses UP-TO-DATE 
    > Building > :projects:project:test > Resolving dependencies ':projects:mag 
    :projects:project:test 
    
    FAILURE: Build failed with an exception. 
    
    * What went wrong: 
    Could not resolve all dependencies for configuration ':projects:project:tes 
    tRuntime'. 
    > Could not find group:jspf, module:jspf.core, version:1.0.2. 
        Required by: 
         Project.projects:project:0.0.1 
         Project.projects:project:0.0.1 > Project.projects:project-pl 
    ugin-framework:0.0.1 
    > Could not find any version that matches group:erichschroeter, module:applib, v 
    ersion:latest.integration. 
        Required by: 
         Project.projects:project:0.0.1 
         Project.projects:project:0.0.1 > Project.projects:project-pl 
    ugin-framework:0.0.1 
    
    * Try: 
    Run with --stacktrace option to get the stack trace. Run with --info or --debug 
    option to get more log output. 
    
    BUILD FAILED 
    
    Total time: 12.61 secs 
    
  • +0

    'maven {url 'http:// localhost:8080/archiva'}'は正しく動作するはずです。 (試してみる前に 'mavenRepo'を削除してください。)正確な出力は何ですか? '-s'や' -d'は洞察を提供しますか?どのGradleバージョン/ OSですか? –

    +0

    デバッグ情報は、未解決の依存関係の両方について 'ModuleVersionNotFoundException'を返します。これは、失敗を想定していると思います。私はGradle 1.0-mileestone-8をWindows XP 32bitで使用しています。 –

    +0

    これはどこから来たのですか? 'グループ:erichschroeter、module:applib、version:latest.integration'と一致するバージョンは見つかりませんでした。特に、' latest.integration'はアイビーコンセプトであり、Mavenのコンセプトではありません。一般的には、可能な限りシンプルな単一プロジェクトビルドから始め、そこから取得することをお勧めします。 URLはArchiva Mavenレポの正しいルートURLですか?ブラウザーで 'http:// localhost:8080/archiva/jspf/jspf.core/1.0.2 /'を開くことができますか? (PS:Maven Centralでこのようなモジュールが見つかりません) –

    答えて

    6

    は問題はGradleののキャッシュとArchivaレポへのアーティファクトの私の最初のアップロードに対処しなければなりませんでした。

    Archivaで成果物をアップロードすると、Maven 2 POMを生成する選択肢が与えられましたが、それはしませんでした。その結果、GradleがArchivaリポジトリの依存関係を解決しようとしたとき、探しているPOMが見つからず、依存関係を解決できませんでした。

    .gradle/cachesディレクトリを削除し、単にbuildを最初から呼び出すように問題を解決しました。

    関連する問題