gradle使用插件将jar包打入nexus的maven私服

news/2024/5/20 3:05:59 标签: gradle, maven, gradle打包到nexus, nexus

1、build.gradle中引入maven插件

apply plugin: 'maven-publish'

2、配置publish

//上传至nexus
publishing {
    publications {
        maven(MavenPublication) {
            groupId project.group
            artifactId project.name
            version project.version
            //若是war包,就写components.web,若是jar包,就写components.java 
//            from components.java
            artifact shadowJar
        }
    }
    repositories {
        maven {

            if (project.version.endsWith('-SNAPSHOT')) {
                url = "http://localhost:8081/repository/maven-snapshots/"
            } else {
                url = "http://localhost:8081/repository/maven-releases/"
            }

            credentials {
                username 'admin'
                password 'admin123'
            }
        }
    }

其中artifact为打包的task,我这里用的是shadowJar,如果是其他的task可以替换

3、完整的build.gradle

apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'maven-publish'
apply plugin: 'maven'
buildscript {
    repositories {
        maven { url "http://192.168.100.88:8081/repository/maven-public/" }
        maven {url "http://maven.aliyun.com/nexus/content/groups/public"}
        mavenCentral()
    }
    dependencies {
        classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.4'
    }
}

group 'com.iscas.log'

sourceCompatibility = 1.8

repositories {
    maven { url "http://192.168.100.88:8081/repository/maven-public/" }
    maven {url "http://maven.aliyun.com/nexus/content/groups/public"}
    mavenCentral()
}

dependencies {
//    testCompile group: 'junit', name: 'junit', version: '4.12'
//    compile group:"org.slf4j", name:"slf4j-api",version: "1.7.1"
    compile group:"ch.qos.logback", name:"logback-core",version: "1.1.7"
    compile group:"ch.qos.logback", name:"logback-access",version: "1.1.7"
//    compile group:"ch.qos.logback", name:"logback-classic",version: "1.1.7"
    compile fileTree(dir:'libs',include:['*.jar'])
}
shadowJar {
    baseName = 'log-expansion'
    classifier = null
    version = null
    dependencies {
        include(dependency('ch.qos.logback:logback-core:1.1.7'))
        include(dependency('ch.qos.logback:logback-access:1.1.7'))
        include(dependency(files('libs/logback-classic-1.1.11.jar')))
        include(dependency(files('libs/slf4j-api-1.7.9.jar')))
    }
}
//打入本地maven库配置
install {
    repositories.mavenInstaller {
        pom.version="${project.version}"
        pom.artifactId="${project.archivesBaseName}"
        pom.groupId="${project.group}"
    }
}

//上传至nexus
publishing {
    publications {
        maven(MavenPublication) {
            groupId project.group
            artifactId project.name
            version project.version
            //若是war包,就写components.web,若是jar包,就写components.java 
//            from components.java
            artifact shadowJar
        }
    }
    repositories {
        maven {

            if (project.version.endsWith('-SNAPSHOT')) {
                url = "http://192.168.100.88:8081/repository/maven-snapshots/"
            } else {
                url = "http://192.168.100.88:8081/repository/maven-releases/"
            }

            credentials {
                username 'admin'
                password 'admin123'
            }
        }
    }
}

4、使用publish发布到nexus
在这里插入图片描述


http://www.niftyadmin.cn/n/1302707.html

相关文章

selenium ‘WebDriver‘ object has no attribute ‘find_element_by_xpath‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

Spring IO Platform介绍

https://www.cnblogs.com/chenpi/p/6295855.html

pip install weditor出错error in setup command: Error parsing weditor\setup.cfg UnicodeDecodeError:解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

Java破坏双亲委派实现自定义加载器加载不同版本类

借鉴datax的一些代码,添加破坏双亲委派功能,实现在JVM中自定义加载器加载同包名、类名不同版本的类文件 1、创建类加载器切换类,使用Thread的ClassLoaderContext控制 /**** 为避免jar冲突,比如hbase可能有多个版本的读写依赖jar包…

ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问 解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

使用jarslink实现版本隔离

JarsLink (原名Titan) 是一个基于JAVA的模块化开发框架,它提供在运行时动态加载模块(一个JAR包)、卸载模块和模块间调用的API。也是阿里巴巴的开源项目之一 https://github.com/alibaba/jarslink,目前在微贷事业群广泛使用。 gith…

Cannot uninstall .. It is a distutils installed project and thus we cannot accurately determine 解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

简书钻/FTN优质文章挑战赛丨简书,内容创作者的新机会

文/happyJared 行业发展的普遍规律,其生态一般经过早期的红利,走过淘汰期,并最终迈向成熟。 在内容创作领域,这也毫不例外。 如今,时代进步和科技迭代之快,是过去人类漫长进化史中从未有过的。 前人永远无法…