maven配置nexus私服提速🚀
快捷导航
-
3、关注公众号获取最新推文:
正题
🎯 推荐使用 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 一键解决环境准备问题
Step1 配置直刷指定位置
Step2 统一的模板文件
Step3 编译前自动准备环境