我想在我的gralde config中设置一个nexus repo来访问一些本地库。
我是否需要在我的gradle配置中设置nexus存储库,如下所示?
repositories {
mavenLocal()
maven {
url "http://mySuperRepo/nexus/content/groups/public/"
}
jcenter()
}
我已经在maven配置文件(m2中的settings.xml)中设置了nexus
<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">
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>proxy.host.com</host>
<port>8081</port>
<username>username</username>
<password>password</password>
<nonProxyHosts>nonProxyHost.net</nonProxyHosts>
</proxy>
</proxies>
<servers>
<server>
<id>nexus</id>
<username>useeeername</username>
<password>passwoooord</password>
</server>
</servers>
<mirrors>
<mirror>
<id>idMyMirror</id>
<mirrorOf>*</mirrorOf>
<url>http://mySuperRepo/nexus/public/</url>
</mirror>
</mirrors>
我的问题是AndroidStudio似乎下载了我笔记本电脑中所有的Nexus Repo。.AndroidStudio/文件夹占用48 GB。如果我删除这个文件夹,下次打开AndroidStudio时所有内容都会再次下载。
你有办法吗?
2条答案
按热度按时间g52tjvyc1#
它不应该从存储库中下载所有内容,而应该只下载所需内容,但在本地Maven存储库中找不到。Gradle完全不会考虑您的Maven设置文件,但在您的情况下,它会从本地存储库中下载工件。
如果您根本不使用Maven,我会删除本地Maven存储库(~/.m2/repository)以及build.gradle文件中对它的引用。
在任何情况下,下载都是由AndroidStudio和Gradle完成的,并缓存在Gradle的本地缓存~/.gradle/caches中,它应该只下载所需的内容。48 GB似乎太大了,可能是Gradle或AndroidStudio配置或bug导致的。当然,除非您的项目真的那么复杂。
下载这么多的事实和Nexus无关,完全和客户端工具有关。您可能还想在Nexus中将jcenter配置为代理存储库,而不是在build.gradle文件中直接引用它。
ndh0cuux2#
将此URL放入android studio中的build.gradle
maven { url '连接服务器/存储库/gradle/' } maven { url '连接服务器/存储库/mvn/' }
其中,在Nexus服务器中,mvn存储库为https://repo.maven.apache.org/maven2/",而gradle存储库为https://dl.google.com/dl/android/maven2/