在没有POM的情况下生成和使用渐变依赖关系



我正在尝试生成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()
}
}
}

最新更新