<.Ne>t栏首语

本文探讨了.NET与Java这两种流行开发工具的优缺点。作者从个人经历出发,分享了使用这两种技术时的感受,包括性能、开发效率及跨平台能力等方面。文章强调了在不同场景下选择合适工具的重要性。
用.Net的时候,想用Java,觉得.Net是性能差,环境也不稳定...并且搞java的工资高, 可用Java 的时候又想用.Net了,觉得.Net开发效率高,速度快,并且许多程序不需要考虑夸平台(我感觉夸平台方面.Net和Jav还是有一定的距离); 其实它们之间各有优缺点,不同的情况选择不同的工具还是比较合理的,有时候是客户的要求,有时候是公司的要求,有时候是个人的选择;  
<?xml version="1.0" encoding="UTF-8"?> <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"> <localRepository>C:\Users\user\.m2\repository</localRepository> <pluginGroups> <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> </pluginGroups> <proxies> </proxies> <!--<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors> --> <servers> <server> <id>maven-public</id> <username>admin</username> <password>6jF0OV#dk034</password> </server> <server> <id>3rd-releases</id> <username>admin</username> <password>6jF0OV#dk034</password> </server> <server> <id>maven-releases</id> <username>admin</username> <password>6jF0OV#dk034</password> </server> <server> <id>jnpf-releases</id> <username>jnpf-user</username> <password>HLrQ0MA%S1nE</password> </server> </servers> <mirrors> <mirror> <id>3rd-releases</id> <mirrorOf>3rd-releases</mirrorOf> <name>internal 3rd-releases repository</name> <url>http://192.126.0.127:8081/repository/3rd-releases/</url> </mirror> <mirror> <id>maven-public</id> <mirrorOf>maven-public</mirrorOf> <name>internal maven-public repository</name> <url>http://192.126.0.127:8081/repository/maven-public/</url> </mirror> <mirror> <id>aliyun</id> <mirrorOf>central</mirrorOf> <name>aliyun-public</name> <url>https://maven.aliyun.com/repository/public/</url> </mirror> <mirror> <id>aliyun-spring</id> <mirrorOf>spring</mirrorOf> <name>aliyun-spring</name> <url>https://maven.aliyun.com/repository/spring</url> </mirror> <mirror> <id>maven-releases</id> <mirrorOf>*</mirrorOf> <name>maven-releases</name> <url>http://192.126.0.127:8081/repository/maven-releases/</url> </mirror> <mirror> <id>jnpf-releases</id> <mirrorOf>*</mirrorOf> <name>jnpf-releases</name> <url>https://repository.jnpfsoft.com/repository/maven-public/</url> </mirror> </mirrors> <profiles> <profile> <id>nexus</id> <repositories> <repository> <id>maven-public</id> <url>http://maven-public</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>3rd-releases</id> <url>http://3rd-releases</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>maven-releases</id> <url>http://192.126.0.127:8081/repository/maven-releases/</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>maven-public</id> <url>http://maven-public</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> <pluginRepository> <id>3rd-releases</id> <url>http://3rd-releases</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- Optional URL to server. Default value is http://localhost:9000 --> <sonar.host.url> http://192.126.0.199:9000 </sonar.host.url> </properties> </profile> </profiles> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles> </settings>
12-04
从你的 `settings.xml` 配置来看,主要问题是 Maven 无法从私有仓库 `http://192.126.0.127:8081/` 下载 Spring Cloud 依赖。以下是详细分析和解决方案: --- ### **问题分析** 1. **HTTP 仓库被拦截** Maven 3.8.1+ 默认禁止 HTTP 仓库,而你的私有仓库使用 `http://` 协议,导致依赖下载失败。 2. **镜像配置冲突** 你的配置中存在多个镜像覆盖规则(特别是 `<mirrorOf>*</mirrorOf>`),可能导致依赖请求被错误地路由。 3. **仓库认证问题** 虽然配置了 `<servers>`,但未验证密码是否正确或账户是否有权限访问依赖。 4. **依赖不存在于私有仓库** Spring Cloud 依赖可能未同步到你的私有仓库中。 --- ### **解决方案** #### 1. **升级私有仓库为 HTTPS(推荐)** 修改所有仓库和镜像的 URL 为 `https://`(如果私有仓库支持): ```xml <mirror> <id>maven-releases</id> <mirrorOf>*</mirrorOf> <name>maven-releases</name> <url>https://192.126.0.127:8081/repository/maven-releases/</url> <!-- 改为 https --> </mirror> ``` #### 2. **允许 HTTP 仓库(临时方案)** 在 `settings.xml` 的 `<mirror>` 中添加 `<blocked>false</blocked>`: ```xml <mirror> <id>maven-releases</id> <mirrorOf>*</mirrorOf> <name>maven-releases</name> <url>http://192.126.0.127:8081/repository/maven-releases/</url> <blocked>false</blocked> <!-- 显式允许 HTTP --> </mirror> ``` #### 3. **简化镜像配置** 避免使用 `<mirrorOf>*</mirrorOf>` 全局覆盖,改为按需匹配: ```xml <mirror> <id>maven-releases</id> <mirrorOf>maven-releases</mirrorOf> <!-- 仅覆盖同名仓库 --> <name>maven-releases</name> <url>http://192.126.0.127:8081/repository/maven-releases/</url> </mirror> ``` #### 4. **验证依赖是否存在** 直接在浏览器访问以下 URL,检查依赖是否在私有仓库中: ``` http://192.126.0.127:8081/repository/maven-public/org/springframework/cloud/spring-cloud-dependencies/2021.0.9/ ``` 如果不存在,需手动同步或上传依赖。 #### 5. **清理本地缓存** 删除本地缓存中失败的下载记录: ```bash # Linux/Mac rm -rf ~/.m2/repository/org/springframework/cloud/ # Windows del /s /q "%USERPROFILE%\.m2\repository\org\springframework\cloud\" ``` #### 6. **强制更新依赖** 运行 Maven 时添加 `-U` 参数: ```bash mvn clean install -U ``` --- ### **配置优化建议** 1. **分离镜像和仓库** 在 `<profiles>` 中明确定义仓库,避免过度依赖镜像覆盖。 2. **统一使用 HTTPS** 确保所有仓库和镜像的 URL 使用 `https://`。 3. **检查账户权限** 确认 `<servers>` 中的用户名和密码有权访问私有仓库。 4. **优先从阿里云代理** 调整镜像顺序,让阿里云代理优先: ```xml <mirror> <id>aliyun</id> <mirrorOf>central</mirrorOf> <url>https://maven.aliyun.com/repository/public/</url> </mirror> ``` --- ### **验证步骤** 1. 运行以下命令测试仓库连通性: ```bash mvn dependency:get \ -Dartifact=org.springframework.cloud:spring-cloud-dependencies:2021.0.9:pom \ -DremoteRepositories=maven-public ``` 2. 检查日志是否显示下载成功。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值