• Maven 私服Nexus的搭建教程windows(搭配android maven插件使用)


    Nexus

            是 Sonatype 公司发布的一款仓库(Repository)管理软件,常用来搭建 Maven 私服,所以也有人将 Nexus 称为“Maven仓库管理器”。

     Maven 仓库管理器,主要有以下 3 种:

    • Apache Archiva
    • JFrog Artifactory
    • Sonatype Nexus

    Nexus 开源版具有以下特性:

    • 占用内存小(28 M 左右)
    • 具有基于 ExtJs 得操作界面,用户体验较好
    • 使用基于 Restlet 的完全 REST API
    • 支持代理仓库、宿主仓库和仓库组
    • 基于文件系统,不需要依赖数据库
    • 支持仓库索引以及搜索
    • 支持在界面上上传构件
    • 安全控制

    下载与安装:2.0版本

    下载官网地址:Download 

    或者直接下载地址:nexus.zip

    注解:如果遇到下载失败,最好用下载工具进行下载,目前我在下载过程中遇到了下载超时,用迅雷下载完美解决此问题。

    解压以后得到:

    • nexus-:该目录中包含了 Nexus 2.x 运行所需要的文件,如启动脚本、依赖 jar 包等。
    • sonatype-work:该目录中包含了 Nexus 2.x 生成的配置文件、日志文件等。

    如何启动:

    .进入 \nexus\bin\jsw 文件夹,根须操作系统版本选择合适的目录,由于我的操作系统是 Windows 10 64 位,所以选择 windows-x86-64 目录

     其中:

    • console-nexus.bat:启动 Nexus 并在 DOS 命令行中展示启动过程。
    • install-nexus.bat:将 Nexus 安装为 Windows 服务,开机自动启动。
    • start-nexus.bat:启动 Nexus。
    • stops-nexus.bat:停止 Nexus。
    • uninstall-nexus.bat:与 install-nexus.bat 相对应,负责卸载 Nexus 服务。

    如果第一次安装,双击运行 install-nexus.bat 安装 Nexus 服务,然后再运行 start-nexus.bat 启动服务。

    注意:

    • 运行 install-nexus.bat 安装服务,若提示”wrapper  | OpenSCManager failed - 拒绝访问。 (0x5)“,只要关闭窗口,以管理员身份运行即可解决。
    • 运行 start-nexus.bat 启动服务,若提示”wrapper  | OpenSCManager failed - 拒绝访问。 (0x5)“,只要关闭窗口,以管理员身份运行即可解决。

    访问:

    访问 http://localhost:8081/nexus

    默认的账号和密码:admin 和 admin123

     登录成功:

    Nexus仓库配置:

    在仓库列表中,每个仓库都具有一系列属性:

    • Type:仓库的类型,Nexus 中有 4 中仓库类型:group(仓库组)、hosted(宿主仓库)、proxy(代理仓库)以及 virtual(虚拟仓库)。
    • Format:仓库的格式。
    • Policy:仓库的策略,表示该仓库是发布(Release)版本仓库还是快照(Snapshot)版本仓库。
    • Repository Status:仓库的状态。
    • Repository Path:仓库的路径。

    这里面我们正常使用hosted宿主仓储即可。

    Releases:正式版本

    Snapshots:测试版本,如果是测试版本,在push 本地aar的时候,需要在版本最后加"-Snapshots"

    我们一般包上传到hosted类型,默认已够我们使用。

    Repository Path:仓库地址,如果我们在maven需要使用,上传和下载,的地址就是这个。直接copy到AndroidStudio或者maven xml文件中配置即可。

    ​​​​​​​

     

    Android build Maven push打包上传:

    1.Android部分如果不熟悉如何打包上传,可以参考Android Maven build教程

     2.针对部分Maven上传失败,或者上传不到 Nexus服务的解决方案,可以修改maven task方法。

    maven_push.gradle文件如下:

    1. apply plugin: 'maven'
    2. afterEvaluate { project ->
    3. uploadArchives {
    4. repositories {
    5. mavenDeployer {
    6. pom.groupId = GROUP_ID
    7. pom.artifactId = ARTIFACT_ID
    8. pom.version = VERSION
    9. repository(url: RELEASE_URL) {
    10. authentication(userName: USER_NAME, password: PASSWORD)
    11. }
    12. }
    13. }
    14. }
    15. task androidJavadocs(type: Javadoc) {
    16. source = android.sourceSets.main.java.srcDirs
    17. classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    18. }
    19. task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
    20. classifier = 'javadoc'
    21. from androidJavadocs.destinationDir
    22. }
    23. task androidSourcesJar(type: Jar) {
    24. classifier = 'sources'
    25. from android.sourceSets.main.java.sourceFiles
    26. }
    27. artifacts {
    28. archives androidSourcesJar
    29. archives androidJavadocsJar
    30. }
    31. }

     最后执行上传结果如下:

     这是上传成功,我们就可以在Nexus仓库找到该包,release的包由于上传不支持覆盖版本号,所以每次上传都需要更新版本号,否则报错。

    Android如何下载包:

    1.在项目最外层build文件中,新增对Nexus maven库的支持

    maven {
        url 'http://192.168.1.100:8081/nexus/content/repositories/releases/'
    }

    2.直接引用包

    implementation "com.android.mobile.woniu:woniuFrame:2022.9.1.01"

  • 相关阅读:
    22noip10连 day7--考后总结
    2022年9月5号 每周任务
    Vue3中级指南-如何在vite中使用svg图标
    基于java+springmvc+mybatis+vue+mysql的班级管理系统
    Vue如何监听键盘事件
    ECharts综合案例一:近七天跑步数据
    手把手带你学会Odoo OWL组件开发(7):OWL项目实战使用
    【第七篇】- Maven 插件
    【学习笔记】杜教筛
    petite-vue源码剖析-属性绑定`v-bind`的工作原理
  • 原文地址:https://blog.csdn.net/qq36246172/article/details/126630281