如何在gradle文件夹中下载带有pom文件的jar文件?
Posted
技术标签:
【中文标题】如何在gradle文件夹中下载带有pom文件的jar文件?【英文标题】:How download jar file with pom file in gradle folder? 【发布时间】:2019-10-09 13:33:35 【问题描述】:我将compile 'org.apache.commons:commons-vfs2-project:2.3'
添加到我的build.gradle文件中,但我发现有~\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-vfs2-project\2.3\860b837e62ab6d3282e7ff96f63ea21aebcdba40\commons-vfs2-project-2.3.pom
,我该如何下载jar文件?
【问题讨论】:
【参考方案1】:这是解决方案之一。 下面是示例项目的 build.gradle 我已经包含了 2 个插件并编写了脚本以在构建 jar 时包含其他脚本。 有一些 Eclipse 生成的脚本我没有删除。
apply plugin: 'java'
/**Following plugins are needed */
apply plugin: 'maven-publish'
apply plugin: 'maven'
/**Just to include jar versioning*/
version = '1.0.0'
repositories
jcenter()
dependencies
compile 'org.slf4j:slf4j-api:1.7.25'
testCompile 'junit:junit:4.12'
apply plugin: 'eclipse'
eclipse
classpath
downloadSources = true // default: true
downloadJavadoc = true // default: false
def eclipseSourceFolders=[
'src/main/java',
'src/main/resources',
'src/test/java',
'src/test/resources'
];
tasks.eclipse.dependsOn <<
for (String sourceFolder: eclipseSourceFolders)
def resourceDir = new File(project.projectDir, sourceFolder)
if( !resourceDir.exists() && ! resourceDir.mkdirs() )
logger.info("Not able to create %1",resourceDir);
/**
Add Following scripts to placs pom.xml within jar and .pom file within libs folder*/
publishing
publications
mavenJava(MavenPublication)
from components.java
/** While creating jar generate and place pom.xml also place .pom file in libs folder */
jar
into("META-INF/maven/$project.group/$project.name")
from generatePomFileForMavenJavaPublication
rename ".*", "pom.xml"
doLast
pom
project
.writeTo("$buildDir/libs/$project.name-$version.pom")
【讨论】:
谢谢,我收到了compile 'org.apache.commons:commons-vfs2:2.3'
以上是关于如何在gradle文件夹中下载带有pom文件的jar文件?的主要内容,如果未能解决你的问题,请参考以下文章
在 Gradle 中,如何生成具有解析为实际使用版本的动态依赖项的 POM 文件?
如何让 gradle 在项目的根目录为 maven 用户生成一个有效的 pom.xml 文件?
`gradle install` 如何生成 `pom.xml` 文件