4

デフォルト構成を使用して、ローカルホストにArchivaインスタンスをセットアップしました。archivaインスタンスに解決するためにいくつかの異なるGradle構成を試しましたが、どれも機能していないようです。

  1. mavenRepoを使用する
  2. Maven
  3. Ivyを使用し、アーティファクトパターンのみを指定する(Ivyを使用したときに機能しました)

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()

サブプロジェクトのgradleファイルの一部またはすべてを投稿するのが適切だとは思いませんでしたが、必要だと思われる場合は可能です。

ここに欠けているものはありますか?gradleはローカルホストのURLを非ローカルホストとは異なる方法で処理しますか(mavenCentral依存関係が解決されているため)?GradleをMavenリポジトリのローカルインスタンスに解決するにはどうすればよいですか?

編集: @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
4

1 に答える 1

6

この問題は、GradleのキャッシュとArchivaリポジトリへのアーティファクトの最初のアップロードに対処する必要がありました。

Archivaにアーティファクトをアップロードすると、Maven 2 POMを生成する選択肢が与えられますが、私はそれを行いませんでした。その結果、GradleがArchivaリポジトリの依存関係を解決しようとしたときに、探していたと思われるPOMが見つからなかったため、依存関係を解決できませんでした。

この問題は、.gradle/cachesディレクトリを削除し、build最初から呼び出すだけで解決されました。

于 2012-02-21T17:42:01.553 に答える