是 Sonatype 公司发布的一款仓库(Repository)管理软件,常用来搭建 Maven 私服,所以也有人将 Nexus 称为“Maven仓库管理器”。
注解:如果遇到下载失败,最好用下载工具进行下载,目前我在下载过程中遇到了下载超时,用迅雷下载完美解决此问题。
.进入 \nexus\bin\jsw 文件夹,根须操作系统版本选择合适的目录,由于我的操作系统是 Windows 10 64 位,所以选择 windows-x86-64 目录
如果第一次安装,双击运行 install-nexus.bat 安装 Nexus 服务,然后再运行 start-nexus.bat 启动服务。
注意:
访问 http://localhost:8081/nexus
默认的账号和密码:admin 和 admin123
登录成功:
在仓库列表中,每个仓库都具有一系列属性:
Releases:正式版本
Snapshots:测试版本,如果是测试版本,在push 本地aar的时候,需要在版本最后加"-Snapshots"
我们一般包上传到hosted类型,默认已够我们使用。
Repository Path:仓库地址,如果我们在maven需要使用,上传和下载,的地址就是这个。直接copy到AndroidStudio或者maven xml文件中配置即可。
1.Android部分如果不熟悉如何打包上传,可以参考Android Maven build教程
2.针对部分Maven上传失败,或者上传不到 Nexus服务的解决方案,可以修改maven task方法。
maven_push.gradle文件如下:
- apply plugin: 'maven'
-
-
- afterEvaluate { project ->
- uploadArchives {
- repositories {
- mavenDeployer {
- pom.groupId = GROUP_ID
- pom.artifactId = ARTIFACT_ID
- pom.version = VERSION
- repository(url: RELEASE_URL) {
- authentication(userName: USER_NAME, password: PASSWORD)
- }
- }
- }
- }
- task androidJavadocs(type: Javadoc) {
- source = android.sourceSets.main.java.srcDirs
- classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
- }
- task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
- classifier = 'javadoc'
- from androidJavadocs.destinationDir
- }
- task androidSourcesJar(type: Jar) {
- classifier = 'sources'
- from android.sourceSets.main.java.sourceFiles
- }
- artifacts {
- archives androidSourcesJar
- archives androidJavadocsJar
- }
- }
这是上传成功,我们就可以在Nexus仓库找到该包,release的包由于上传不支持覆盖版本号,所以每次上传都需要更新版本号,否则报错。
maven { url 'http://192.168.1.100:8081/nexus/content/repositories/releases/' }
implementation "com.android.mobile.woniu:woniuFrame:2022.9.1.01"