我正在读这个:
http://www.gradle.org/docs/current/userguide/artifact_management.html
了解如何将我的工件发布/上传到网络驱动器/文件共享这是一项要求(我们已经启动并运行了maven repo但是需要将一些工件转储到文件共享上)。我发现的例子更侧重于部署到存储库,maven,ivy等。
我有一个简单的eclipse java项目,我使用gradle 1.2和以下build.gradle文件构建:
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属性,但我收到此错误:
无法发布配置':archives'。 java.io.FileNotFoundException:/ internal.newtwork.drive/folder/test/sample-gradle-java-unspecified.jar(没有这样的文件或目录)
答案 0 :(得分:1)
您应该定义以下参数:
archivesBaseName = 'yourappname'
group = 'your.app.package'
version = '1.0.0'
答案 1 :(得分:0)
您的网址未提及方案(http:,file:等)。我不知道你是否可以使用文件:URL,或者你是否需要我们使用不同的语法来指定目录而不是HTTP URL,但不管怎样,你需要正确地形成URI Windows UNC路径。
有关详细信息,请参阅this question。
答案 2 :(得分:0)
看起来你正在穿越你的电线。该网址只是您显然没有使用的常春藤存储库声明的一部分。文件系统存储库将由flatDir块处理,然后由add project.repositories.fileRepo
语句引用。我建议尝试flatDir dir
变量中的完整路径,否则最小阻力的路径可能只是将一个简单的手动文件副本(或其他传输)任务放在一起,然后将其添加到主要部署你正在使用的任务。
答案 3 :(得分: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"
}
}
}