【Bigtop编译】maven配置nexus私服提速

maven配置nexus私服提速🚀

快捷导航

正题

🎯 推荐使用 Maven 3.8.4

🔧 原因:在大数据项目中,Maven 3.9以上版本可能会出现一些编译问题,尤其是在处理复杂依赖时。为了确保编译过程的稳定性,建议使用 Maven 3.8.4 版本。


一、maven设置nexus私服方案

🛠️ 1. 项目级别配置 (Project-Level)

在项目的 pom.xml 文件中,配置 Nexus 私服并添加用户名和密码的相关配置。

pom.xml 完整配置:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>my-project</artifactId>
    <version>1.0.0</version>

    <!-- 配置私服仓库 -->
    <repositories>
        <repository>
            <id>nexus-releases</id>
            <url>http://your-nexus-server/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

    <!-- 发布到私服 -->
    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <url>http://your-nexus-server/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <url>http://your-nexus-server/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
</project>

🔑 说明

  • repositories 定义从私服仓库下载依赖。
  • distributionManagement 用于发布构件到私服仓库。

用户名和密码配置:

为了保证私服的安全性,用户名和密码不直接写在 pom.xml 中。你可以通过全局的 settings.xml 文件来配置认证信息,避免泄露凭证。


🌐 2. 全局配置 (Global-Level)

通过 ~/.m2/settings.xml 来配置用户名和密码,适用于所有 Maven 项目。

settings.xml 配置:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  
    <mirrors>
        <!-- 配置 Nexus 私服为中央仓库的镜像 -->
        <mirror>
            <id>nexus-mirror</id>
            <mirrorOf>central</mirrorOf>
            <url>http://your-nexus-server/repository/maven-public/</url>
        </mirror>
    </mirrors>

    <servers>
        <!-- 配置私服的认证信息 -->
        <server>
            <id>nexus-releases</id>
            <username>your-username</username>
            <password>your-password</password>
        </server>
        <server>
            <id>nexus-snapshots</id>
            <username>your-username</username>
            <password>your-password</password>
        </server>
    </servers>

    <profiles>
        <profile>
            <id>nexus</id>
            <repositories>
                <repository>
                    <id>nexus-releases</id>
                    <url>http://your-nexus-server/repository/maven-public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
    </profiles>

    <activeProfiles>
        <!-- 激活 Nexus 配置 -->
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
</settings>

🔐 说明

  • servers 标签中包含了用户名 (your-username) 和密码 (your-password) 的配置。
  • 这样就不会在 pom.xml 中暴露敏感信息,保障了安全性。

🤔 3. 选择建议:
  • 项目级别:在 pom.xml 中配置私服仓库和发布仓库,而认证信息通过全局 settings.xml 配置。
  • 全局级别:通过 settings.xml 为所有项目配置认证信息,避免在 pom.xml 中泄露敏感信息。

建议将用户名和密码信息安全地存放在 ~/.m2/settings.xml 中,而不是在 pom.xml 中硬编码敏感信息。

idea下建议查看mvn_home,修改conf/settings.xml文件

本人更倾向于全局设置:

在这里插入图片描述

我这里做了统一的汇聚,关联所有的下载镜像:

在这里插入图片描述

二、在 Bigtop 项目中编译案例—Zookeeper

2.1 编译日志
# zookeeper 基于gradle 打rpm的编译
gradle \
zookeeper-rpm \
-PparentDir=/usr/bigtop \
-Dbuildwithdeps=true \
-PpkgSuffix \
-d

Downloaded from nexus: http://172.20.0.2:8081/repository/maven-public/org/codehaus/jackson/jackson-core-asl/1.1.1/jackson-core-asl-1.1.1.jar (104 kB at 43 kB/s)
Downloaded from nexus: http://172.20.0.2:8081/repository/maven-public/com/sun/jersey/jersey-client/1.1.5.1/jersey-client-1.1.5.1.jar (90 kB at 37 kB/s)
[INFO]
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ zookeeper-contrib-rest ---
[INFO]
[INFO] --- git-commit-id-plugin:4.9.10:revision (find-current-git-revision) @ zookeeper-contrib-rest ---
[INFO]
[INFO] --- maven-antrun-plugin:1.8:run (default) @ zookeeper-contrib-rest ---
[INFO] Executing tasks

main:
[INFO] Executed tasks
[INFO]
[INFO] --- maven-remote-resources-plugin:1.5:process (process-resource-bundles) @ zookeeper-contrib-rest ---
[INFO]
[INFO] --- maven-resources-plugin:2.7:resources (default-resources) @ zookeeper-contrib-rest ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-restsrc/main/java/resources
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ zookeeper-contrib-rest ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 20 source files to /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.7:testResources (default-testResources) @ zookeeper-contrib-rest ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/src/test/resources
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ zookeeper-contrib-rest ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 11 source files to /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ zookeeper-contrib-rest ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- maven-jar-plugin:3.1.0:jar (default-jar) @ zookeeper-contrib-rest ---
[INFO] Building jar: /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/zookeeper-contrib-rest-3.5.9.jar
[INFO]
[INFO] --- maven-site-plugin:3.5.1:attach-descriptor (attach-descriptor) @ zookeeper-contrib-rest ---
[INFO]
[INFO] --- maven-jar-plugin:3.1.0:test-jar (Jar Tests Package) @ zookeeper-contrib-rest ---
[INFO] Building jar: /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/zookeeper-contrib-rest-3.5.9-tests.jar
[INFO]
[INFO] >>> maven-source-plugin:3.0.1:jar (attach-sources) > generate-sources @ zookeeper-contrib-rest >>>
[INFO]
[INFO] --- git-commit-id-plugin:4.9.10:revision (find-current-git-revision) @ zookeeper-contrib-rest ---
[INFO]
[INFO] --- maven-antrun-plugin:1.8:run (default) @ zookeeper-contrib-rest ---
[INFO] Executing tasks

main:
[INFO] Executed tasks
[INFO]
[INFO] <<< maven-source-plugin:3.0.1:jar (attach-sources) < generate-sources @ zookeeper-contrib-rest <<<
[INFO]
[INFO]
[INFO] --- maven-source-plugin:3.0.1:jar (attach-sources) @ zookeeper-contrib-rest ---
[INFO] Building jar: /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/zookeeper-contrib-rest-3.5.9-sources.jar
[INFO]
[INFO] --- maven-javadoc-plugin:3.0.1:jar (attach-javadocs) @ zookeeper-contrib-rest ---
[INFO]
Loading source files for package org.apache.zookeeper.server.jersey...
Loading source files for package org.apache.zookeeper.server.jersey.filters...
Loading source files for package org.apache.zookeeper.server.jersey.resources...
Loading source files for package org.apache.zookeeper.server.jersey.cfg...
Loading source files for package org.apache.zookeeper.server.jersey.jaxb...
Constructing Javadoc information...
Standard Doclet version 1.8.0_202
Building tree for all the packages and classes...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/RestMain.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/ZooKeeperService.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/filters/HTTPBasicAuth.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/resources/JAXBContextResolver.html.
..
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/resources/KeeperExceptionMapper.htm
l...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/resources/RuntimeExceptionMapper.ht
ml...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/resources/SessionsResource.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/resources/ZErrorWriter.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/resources/ZNodeResource.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/cfg/Credentials.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/cfg/Endpoint.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/cfg/HostPort.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/cfg/HostPortSet.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/cfg/RestCfg.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/jaxb/ZChildren.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/jaxb/ZChildrenJSON.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/jaxb/ZError.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/jaxb/ZPath.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/jaxb/ZSession.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/org/apache/zookeeper/server/jersey/jaxb/ZStat.html...
Generating /opt/modules/bigtop/build/zookeeper/rpm/BUILD/apache-zookeeper-3.5.9/zookeeper-contrib/zookeeper-contrib-rest/target/apidocs/overview-frame.html...

2.2 使用ambari-env 一键解决环境准备问题

项目地址: ambari-env: Ambari+Bigtop 一站式编译和部署解决方案 (gitee.com)

Step1 配置直刷指定位置

在这里插入图片描述

Step2 统一的模板文件

在这里插入图片描述
Step3 编译前自动准备环境

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值