[英]Maven dependencies not published with Gradle
我有以下build.gradle
:
group 'org.inthemoon.spring'
version '1.1-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'maven'
apply plugin: "maven-publish"
sourceCompatibility = 1.8
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile group: 'org.inthemoon.spring', name: 'childcontext', version: '1.0-SNAPSHOT'
// https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.5'
compile 'org.springframework:spring-context:4.3.4.RELEASE'
testCompile group: 'junit', name: 'junit', version: '4.12'
}
tasks.create('sourceJar', Jar) {
dependsOn tasks.classes
from sourceSets.main.allSource
classifier 'sources'
extension 'jar'
group 'build'
}
publishing {
publications {
nebula(MavenPublication) {
artifact tasks.sourceJar
}
}
}
不幸的是,當我運行目標publishToMavenLocal
,我得到以下pom文件...\\.m2\\repository\\org\\inthemoon\\spring\\springfx\\1.1-SNAPSHOT\\springfx-1.1-SNAPSHOT.pom
:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.inthemoon.spring</groupId>
<artifactId>springfx</artifactId>
<version>1.1-SNAPSHOT</version>
<packaging>pom</packaging>
</project>
即沒有依賴性。
怎么修?
您的pom.xml
包含以下內容: <packaging>pom</packaging>
表示沒有jar鏈接到發布。
這可以通過添加以下內容來完成:
publishing {
publications {
nebula(MavenPublication) { // Note that 'nebula' here is the name of your publication
from components.java
// Other configuration instructions
}
}
}
請注意,插件maven
和maven-publish
提供了類似的功能。 現在認為maven
已過時,建議使用maven-publish
。 因此,在您的構建腳本中,您可以刪除maven
插件的應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.