2

私はこれを読んでいます:

http://www.gradle.org/docs/current/userguide/artifact_management.html

要件であるネットワーク ドライブ/ファイル共有にアーティファクトを公開/アップロードする方法を理解する (Maven リポジトリが稼働中ですが、一部のアーティファクトはファイル共有にダンプする必要があります)。私が見つけた例は、リポジトリ、maven、ivy などへのデプロイに重点を置いています。

次のbuild.gradleファイルでgradle 1.2を使用してビルドする単純なEclipse Javaプロジェクトがあります。

apply plugin: 'java' 

sourceSets {
  main {
    java {
      srcDir 'src'
    }
  }
  test {
    java {
      srcDir 'test'
    }
  }
}
repositories {
  flatDir {
      name "fileRepo"
      dirs "file://internal.newtwork.drive/folder/test"
  }
}

uploadArchives {
  repositories {
      add project.repositories.fileRepo
  }
}

リソースをリモートファイル共有にコピーする方法について、gradle ドキュメントのどこで読むことができますか?

以下の回答に基づいてプロトコルと dir 属性を更新しようとしましたが、次のエラーが発生します。

  • 問題: タスク ':uploadArchives' の実行に失敗しました。

    構成 ':archives' を発行できませんでした。java.io.FileNotFoundException: /internal.newtwork.drive/folder/test/sample-gradle-java-unspecified.jar (そのようなファイルまたはディレクトリはありません)

宛先は正しいので、flatDir リポジトリはネットワークドライブをサポートしていませんか?

4

4 に答える 4

1

次のパラメータを定義する必要があります。

archivesBaseName = 'yourappname'
group = 'your.app.package'
version = '1.0.0'
于 2013-07-06T19:50:43.057 に答える
0

//これを試して、

apply plugin: 'java'
apply plugin: 'maven'

repositories {
    maven {
        url "$archivaUrl"`enter code here`
    credentials {
            username = "$userName"
            password = "$passWord"
        }
    }
}

// Dependencies
dependencies { 
    // specify the lib files at compile and run time         
    compile fileTree(dir: 'lib', include: ['**/*.jar','*.jar'])
    runtime fileTree(dir: 'lib', include: ['**/*.jar','*.jar'])
}


// source path 
sourceSets {
    main {
        java {
        srcDirs 'src'
        }

    }
}

uploadArchives {
    repositories {
    mavenDeployer {
        repository(url: "$archivaUrl") {
        authentication(userName: "$userName", password: "$passWord")
        }
        pom.version = "1.0-SNAPSHOT"
        pom.artifactId = "fd-common"
        pom.groupId = "com.somename.common"
    }    

    }
}
于 2015-05-04T11:15:26.323 に答える
0

URL にスキーム (http:、file: など) が記載されていません。file: URL を使用して問題を解決できるかどうか、または HTTP URL ではなくディレクトリを指定する別の構文が必要かどうかはわかりませんが、いずれにしても、URL の URI を正しく形成する必要があります。 Windows UNC パス。

詳細については、この質問を参照してください。

于 2012-10-04T13:01:21.543 に答える
0

ワイヤーを交差させているようです。URLは、明らかに使用していないivyリポジトリ宣言の一部にすぎません。ファイルシステム リポジトリは flatDir ブロックによって処理され、add project.repositories.fileRepoステートメントによって参照されます。flatDirdir変数のフル パスを試すことをお勧めします。それ以外の場合は、単純な手動ファイル コピー (またはその他の転送) タスクをまとめて、使用しているメインのデプロイ タスクに追加するのが最も抵抗の少ないパスかもしれません。 .

于 2012-10-04T13:34:59.920 に答える