Work without network or behind proxy server

1. dotnet and abp tools

 从能联网的电脑拷贝下列文件

c:\Users\<username>\.dotnet\tools\abp.exe
c:\Users\<username>\.dotnet\tools\abp-suite.exe
c:\Users\<username>\.dotnet\tools\.store\volo.abp.cli
c:\Users\<username>\.dotnet\tools\.store\volo.abp.suite

abp suite需要下列登录文件

c:\Users\<username>\.abp\cli\access-token.bin

2.Nuget package

 从能联网的电脑拷贝下列文件

C:\Users\<username>\.nuget\packages

3.VS code extensions

 从能联网的电脑拷贝下列文件

C:\Users\<username>\.vscode\extensions

4. Android Studio Emulator and Plugins

 从能联网的电脑拷贝Emulator文件

C:\Users\<username>\.android\avd

从Android Studio安装目录下拷贝

$\Android Studio\plugins

5. Chrome extension

找到对应extension的id

chrome://extensions/

拷贝下列文件

C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default

6. DbSchema drivers

拷贝下列文件

C:\Users\<username>\.DbSchema\drivers

7. Npm register behind proxy server

c:\Users\<username>\.npmrc
1
2
3
4
5
proxy=http://username@proxyip:proxyport/
https-proxy=http://username@proxyip:proxyport/
update-notifier=false
strict-ssl=false
registry=http://registry.npmjs.org/

如果应用于全部user,则可以使用如下命令

npm config set proxy=http://username@proxyip:proxyport/
npm config set https-proxy=http://username@proxyip:proxyport/
npm config set registry=http://registry.npmjs.org
npm config set "strict-ssl" false -g

证书认证需要设置环境变量 NODE_EXTRA_CA_CERTS

setx NODE_EXTRA_CA_CERTS %USERPROFILE%.hidden-dir-name\ca-combined.pem

查看config 使用

yarn config list

8. Maven repository behind proxy server

 配置repository和proxy,可以在某用户下和maven目录下

C:\Users\<username>\.m2\settings.xml
$\apache-maven-3.8.4-bin\apache-maven-3.8.4\conf\settings.xml
 
1
<localRepository>C:\Users\<username>\.m2\repository</localRepository>

Maven镜像地址大全,Maven镜像地址配置示例

1
2
3
4
5
6
<mirror>
    <id>central</id>
    <name>Maven Repository Switchboard</name>
    <url>https://repo1.maven.org/maven2/</url>
    <mirrorOf>central</mirrorOf>
</mirror> 

配置proxy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<proxy>
      <active>true</active>
      <protocol>http</protocol>
      <username>username</username>
      <host>proxyip</host>
      <port>proxyport</port>
      <nonProxyHosts>maven</nonProxyHosts>
</proxy>
<proxy>
      <active>true</active>
      <protocol>https</protocol>
      <username>username</username>
      <host>proxyip</host>
      <port>proxyport</port>
      <nonProxyHosts>maven</nonProxyHosts>
</proxy>  
 
如果报SSL错
> sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targe

需要导入CA证书和对应repository镜像地址到java keystore

c:\Program Files\Java\jdk1.8.0_281\jre\lib\security\cacerts

1
""C:\Program Files (x86)\Java\jdk1.8.0_281\bin\keytool.exe"" -import -trustcacerts -keystore ""C:\Program Files (x86)\Java\jre1.8.0_281\lib\security\cacerts"" -storepass changeit -alias maven -file maven.cer"  

如果是在Android Studio使用的话,使用的是安装目录下的jre而不是系统指定的路径
C:\Program Files\Android\Android Studio\jre\jre\lib\security\cacerts

1
2
3
4
5
6
7
8
repositories {
   // google()
   // jcenter()
   // mavenLocal()
   //  mavenCentral()
    maven { url 'https://repo1.maven.org/maven2/' }
 
}  

用pom.xml测试download artifact , 使用命令会下载到指定的 localRepository 下

如果是 aar 类型的要指定 <type>

mvn -v
mvn clean compile
mvn install
1
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<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.companyname.project-group</groupId>
    <artifactId>project</artifactId>
    <version>1.0</version>
     
    <dependencies>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-gradle-plugin</artifactId>
            <version>1.3.60</version>
        </dependency>
        <dependency>
            <groupId>com.facebook.flipper</groupId>
            <artifactId>flipper</artifactId>
            <version>0.99.0</version>
            <type>aar</type>
        </dependency>
    </dependencies>
</project>   

从能联网的电脑拷贝下列文件就可以离线使用

C:\Users\<username>\.m2\repository

9.Gradle behind proxy server

gradle wrap 使用本地文件

$\android\gradle\wrapper\gradle-wrapper.properties
1
2
#distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
distributionUrl=file\:/C:/Software/Android/gradle/gradle-6.5-all.zip  

 指定使用local repository

$\android\build.gradle

1
2
3
4
5
6
7
8
repositories {
   // google()
   // jcenter()
    mavenLocal()
   //  mavenCentral()
//  maven { url 'https://repo1.maven.org/maven2/' }
 
}  

配置proxy

$\android\gradle.properties  

1
2
3
4
5
6
7
8
systemProp.http.proxyHost=192.168.1.1
systemProp.http.proxyPort=80
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.https.proxyHost=192.168.1.1
systemProp.https.proxyPort=80
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password  

导入CA证书

"%JAVA_HOME%\bin\keytool" -import -trustcacerts -alias MY_ALIAS -file MY_CERT.crt -keystore "%JAVA_HOME%\jre\lib\security\cacerts"

gradle 下载的artifact是放在cache目录,存放路径与maven本地仓库是有差异的
gradel
C:\Users\sam\.gradle\caches\modules-2\files-2.1\junit\junit\4.12\2973d150c0dc1fefe998f834810d68f278ea58ec\junit-4.12.jar
maven
C:\Users\sam\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar
 
gradle能否将下载的jar存储到maven本地仓库而不是缓存目录
https://blog.csdn.net/feinifi/article/details/81458639
 
这里给出一个gradle的task
$android\app\build.gradle
1
2
3
4
5
6
7
8
9
task cacheToLocalMavenRepository(type: Copy) {
  from new File(gradle.gradleUserHomeDir, 'caches/modules-2/files-2.1')
  into repositories.mavenLocal().url
  eachFile {
    List<String> parts = it.path.split('/')
    it.path = (parts[0]+ '/' + parts[1]).replace('.','/') + '/' + parts[2] + '/' + parts[4]
  }
  includeEmptyDirs false
}

执行命令后就会将gradle cache的package copy一份到maven local repository下

>gradlew.bat cacheToLocalMavenRepository

 

posted on   白马酒凉  阅读(46)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示