【问题标题】:How download jar file with pom file in gradle folder?如何在gradle文件夹中下载带有pom文件的jar文件?
【发布时间】: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文件?

【问题讨论】:

    标签: eclipse gradle jar pom.xml


    【解决方案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'
    猜你喜欢
    • 2020-06-06
    • 2018-12-07
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    • 2011-12-27
    相关资源
    最近更新 更多