download-maven-plugin 不报错下载空文件

By | 11月 3, 2025

我使用 download-maven-plugin 的 wget 来下载一个 tar 文件,发现下载的是个空文件,检查 log 也没法错误。

尝试直接 wget,提示要 credential issue,加上用户名和密码就能下载成功了。

同理也给 download-maven-plugin 添加 <serverId>central</serverId> 就是添加认证,对应的是 settings.xml 里的 central server。结果还是下载空文件。

搜索得知它有缓存,我把缓存删掉,再次执行就下载成功了。

rm -rf ~/.m2/repository/.cache/download-maven-plugin

但是对于 build 服务器,我没法去删掉它的缓存,那怎么办?添加文件的 <md5>xxxx</md5>,这样之前缓存的空文件就是不 match 的,会重新下载。

TIP

升级使用 io.github.download-maven-plugin.download-maven-plugin.2.0.0,这个版本对于没有用户名或密码的清空,会报明确的错误提示。不像 1.6.8 那样,默默下载个空文件。

一个常用的配置模板

<plugin>
	<groupId>io.github.download-maven-plugin</groupId>
	<artifactId>download-maven-plugin</artifactId>
	<version>2.0.0</version>
	<executions>
		<execution>
			<id>install-jbpm</id>
			<phase>prepare-package</phase>
			<goals>
				<goal>wget</goal>
			</goals>
		</execution>
	</executions>
	<configuration>
		<url>http://downloads.sourceforge.net/project/jbpm/jBPM%203/jbpm-3.1.4/jbpm-3.1.4.zip</url>
		<unpack>true</unpack>
		<outputDirectory>${project.build.directory}/jbpm-3.1.4</outputDirectory>
		<md5>df65b5642f33676313ebe4d5b69a3fff</md5>
		<serverId>central</serverId>
	</configuration>
</plugin>