我使用 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>