使用 gradle 将 war 文件发布到 artifactory
Publishing war file to artifactory using gradle
因此,下面的 war 文件发布了 jar 文件和 war 文件。它发布 war 文件,因为我在发布下将其指定为 "artifact(file('build/libs/new_file-1.0.war'))"。
问题 1:有没有办法在不指定全名的情况下发布 war 文件?
问题2:为什么发布jar文件?我什至没有建造它?
buildscript {
repositories {
maven {
url 'http://localhost/artifactory/plugins-release'
credentials {
username = "${artifactory_user}"
password = "${artifactory_password}"
}
}
dependencies {
classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '3.1.1')
}
configurations {
warLib {
transitive=false
}
}
}
apply plugin: "com.jfrog.artifactory"
apply plugin: 'eclipse'
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: 'war'
war {
classpath configurations.warLib
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
artifact(file('build/libs/new_file-1.0.war'))
}
}
}
artifactory {
contextUrl = "${artifactory_contextUrl}" //The base Artifactory URL if not overridden by the publisher/resolver
publish {
repository {
repoKey = ‘aaa'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
defaults {
publications('mavenJava')
publishPom = false
}
}
resolve {
repository {
repoKey = ‘aba'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
}
}
问题 3:有没有办法将特定库作为依赖项的一部分拉到特定位置?
dependencies {
compile group: 'a', name: 'application_jar', version: '1.0'
compile group: 'b', name: 'newlock', version:'1.0.0'
testCompile group: 'unit', name: 'unit', version:'1.0'
}
从上面的依赖关系中,我想将库 a 拉到不同的目录中,比如说 build/deps 和所有其他的到 .gradle $HOME 中的目录。
有人可以帮忙吗?
#2。 publications{}
部分定义了发布的内容。 from components.java
行添加了 jar 文件。如果您不想发布 jar,请删除该行。
#1 要发布由 war 插件生成的 war 文件,请使用 from components.web
因此,下面的 war 文件发布了 jar 文件和 war 文件。它发布 war 文件,因为我在发布下将其指定为 "artifact(file('build/libs/new_file-1.0.war'))"。
问题 1:有没有办法在不指定全名的情况下发布 war 文件?
问题2:为什么发布jar文件?我什至没有建造它?
buildscript {
repositories {
maven {
url 'http://localhost/artifactory/plugins-release'
credentials {
username = "${artifactory_user}"
password = "${artifactory_password}"
}
}
dependencies {
classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '3.1.1')
}
configurations {
warLib {
transitive=false
}
}
}
apply plugin: "com.jfrog.artifactory"
apply plugin: 'eclipse'
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: 'war'
war {
classpath configurations.warLib
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
artifact(file('build/libs/new_file-1.0.war'))
}
}
}
artifactory {
contextUrl = "${artifactory_contextUrl}" //The base Artifactory URL if not overridden by the publisher/resolver
publish {
repository {
repoKey = ‘aaa'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
defaults {
publications('mavenJava')
publishPom = false
}
}
resolve {
repository {
repoKey = ‘aba'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
}
}
问题 3:有没有办法将特定库作为依赖项的一部分拉到特定位置?
dependencies {
compile group: 'a', name: 'application_jar', version: '1.0'
compile group: 'b', name: 'newlock', version:'1.0.0'
testCompile group: 'unit', name: 'unit', version:'1.0'
}
从上面的依赖关系中,我想将库 a 拉到不同的目录中,比如说 build/deps 和所有其他的到 .gradle $HOME 中的目录。
有人可以帮忙吗?
#2。 publications{}
部分定义了发布的内容。 from components.java
行添加了 jar 文件。如果您不想发布 jar,请删除该行。
#1 要发布由 war 插件生成的 war 文件,请使用 from components.web