我正在尝试生成Gradle项目的.jar,但当它使用Maven发布生成时,它也会生成一个.pom文件。
问题是,我有另一个项目,当它实现这个依赖关系时,以前它只查找.jar,现在它在所有其他项目中查找.pom,我想做的是,该项目停止使用";出版";任务,或者在实现时停止为其他人查找.pom文件。
以下是在Artifactory项目A中生成.jar的代码,项目B中使用A并查找.pom:的代码
publishing {
publications {
mavenJava(MavenPublication) {
groupId = 'com.proteccion.myproject'
artifactId = 'myproject-base'
version = '1.0.1'
from components.java
}
}
repositories {
maven {
name = 'artifactory'
url 'https://url/artifactory/MyProject'
credentials {
username System.getenv("ARTIFACTORY_USER")
password System.getenv("ARTIFACTORY_PWD")
}
}
}
}
repositories {
jcenter()
maven {
url 'https://url/artifactory/MyProject'
credentials {
username System.getenv("ARTIFACTORY_USER")
password System.getenv("ARTIFACTORY_PWD")
}
}
}
也许有一个相当于这一细分市场的Gradle:
publishing {
publications {
mavenJava(MavenPublication) {
groupId = 'com.proteccion.myproject'
artifactId = 'myproject-base'
version = '1.0.1'
from components.java
}
}
终于对我起到了作用:
metadataSources {
artifact()
}
强制只搜索jar文件。完整配置:
publishing {
publications {
mavenJava(MavenPublication) {
groupId = 'com.company.myproject'
artifactId = 'myproject-base'
version = '1.0.1'
from components.java
}
}
repositories {
maven {
name = 'artifactory'
url 'https://url/artifactory/MyProject'
credentials {
username System.getenv("ARTIFACTORY_USER")
password System.getenv("ARTIFACTORY_PWD")
}
}
}
}
repositories {
jcenter()
maven {
url 'https://url/artifactory/MyProject'
credentials {
username System.getenv("ARTIFACTORY_USER")
password System.getenv("ARTIFACTORY_PWD")
}
metadataSources {
artifact()
}
}
}
文档(示例18(:https://docs.gradle.org/current/userguide/dependency_management.html
示例17。Maven存储库,支持没有元数据的工件
repositories {
maven {
url "http://repo.mycompany.com/repo"
metadataSources {
mavenPom()
artifact()
}
}
}