如何使用gradle这个上传神器网络驱动器?(How to upload artifact to n

2019-09-23 12:16发布

我读这一点:

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

要了解如何发布/上传我的神器到网络驱动器/文件共享这是一个要求(我们有一个maven回购启动和运行,但需要对文件共享进行转储一些文物)。 我已经发现的例子更侧重于部署到存储库,Maven的,常春藤等。

我有我建立的gradle使用1.2以下的build.gradle文件一个简单的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”。

    无法发布配置“:档案”。 java.io.FileNotFoundException:/internal.newtwork.drive/folder/test/sample-gradle-java-unspecified.jar(没有这样的文件或目录)

目标是正确的那么请问flatDir回购不支持networkdrives?

Answer 1:

你应该定义下列参数:

archivesBaseName = 'yourappname'
group = 'your.app.package'
version = '1.0.0'


Answer 2:

您的网址并没有提及的方案(HTTP:,文件:等)。 我不知道你是否能逃脱使用文件:URL,或是否需要给我们一个不同的语法来指定一个目录,而不是一个HTTP URL,但无论哪种方式,你需要正确地形成的URI Windows的UNC路径。

见这个问题的更多细节。



Answer 3:

它看起来像你穿越你的电线。 该网址只会是你正在显然没有使用常青藤存储库声明的一部分。 文件系统存储库将由flatDir块,然后被引用来处理add project.repositories.fileRepo声明。 我建议试图在flatDir的完整路径dir变量,否则阻力最小的路径可能只是扔一起简单的手动文件拷贝(或其他转移)的任务,然后将其添加到主部署任务你使用。



Answer 4:

//尝试这个,

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"
    }    

    }
}


文章来源: How to upload artifact to network drive using gradle?