221122-Maven私服配置Downloading from maven-default-http-blocker问题解决方法

最近配置maven的私服地址,发现私服里的包无法下载,一直报Downloading from maven-default-http-blocker: http://0.0.0.0/com的异常

从异常描述看,主要问题就是这个域名解析为了http://0.0.0.0

主要的原因在于在maven的 3.8.1 版本开始,maven禁止从http协议的仓库地址下载依赖

官方描述可以参考: https://maven.apache.org/docs/3.8.1/release-notes.html#cve-2021-26291

官方给出的解决方案

1
2
3
4
5
6
7
8
9
10
11
How to fix when I get a HTTP repository blocked?
If the repository is defined in your pom.xml, please fix it in your source code.

If the repository is defined in one of your dependencies POM, you'll get a message like:

[ERROR] Failed to execute goal on project test: Could not resolve dependencies for project xxx: Failed to collect dependencies at my.test:dependency:version -> my.test.transitive:transitive:version: Failed to read artifact descriptor for my.test.transitive:transitive:jar:version: Could not transfer artifact my.test.transitive:transitive:pom:version from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [blocked-repository-id (http://blocked.repository.org, default, releases+snapshots)]
Options to fix are:

upgrade the dependency version to a newer version that replaced the obsolete HTTP repository URL with a HTTPS one,

keep the dependency version but define a mirror in your settings.

我们下面给出的解决方案自然就有俩个

  • 配置https的私服地址
  • 降级maven版本,找一个3.8.1之前的版本

220602-Ubuntu终端实现Maven中央仓库包上传

最近换了个win10的笔记本,发布jar到中央仓库就得重新配置下了,特此记录一下,在win10的ubuntu终端界面下,如果我们希望实现发布jar包到中央仓库,需要的完整环境安装配置教程

201128-Maven 中央仓库提交Jar包全程指南

本文记录一下将jar上传到maven中央仓库的全过程,文中项目依托在github上,使用的是mac环境 (关于maven、jdk的环境配置不属于本文内容)

180717-借助Maven打包可项目执行的Jar小记

当我们希望项目打包为一个可执行的jar文件,丢到服务器上运行时,可以怎么做?借助maven。可以比较简单的实现这个

I. 使用小结

在pmo依赖文件中,添加下面的依赖

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
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.git.hui.task.AppLaunch</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

注意上面的mainClass标签中,指定的是main方法执行入口,上面这种打包方式,会将所有依赖的第三方包,也一同打包到最终生成的jar文件中

即,这个jar文件,包含了所有的依赖和业务代码,可以直接运行,执行方式

1
java -jar xxx.jar

源码验证case:

II. 其他

1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

3. 扫描关注

QrCode

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×