感谢 Dropwizard Maven 原型,我生成了一个示例 Dropwizard Maven 项目。 pom.xml 特别使用 maven-source-plugin:
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
当我运行“全新安装”时,出现以下错误:
插件 org.apache.maven.plugins:maven-source-plugin:2.4 或其依赖项之一无法解析:无法读取 org.apache.maven.plugins:maven-source-plugin:jar:2.4 的工件描述符:无法从中央传输工件 org.apache.maven.plugins:maven-source-plugin:pom:2.4 (http://repo.maven.apache.org/maven2):连接被拒绝:连接 -> [帮助1]
“maven-source-plugin”依赖项存储在我公司的 Nexus 存储库中。所以我尝试在依赖项和/依赖项之间添加插件依赖项:
<dependencies>
...
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
但这并没有解决问题。我还尝试在插件的调用中添加依赖项:
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
</plugin>
但是也没用
两种可能的情况:
您的公司使用代理连接到公共 Maven 存储库。然后询问您公司中的某人代理的 IP 地址是什么,然后将其放入您的 settings.xml 文件中
您的公司拥有自己的 Maven 存储库(例如 Nexus 存储库)。然后询问公司中的某人 Nexus 存储库是什么,然后将其放入您的 pom.xml 或 settings.xml 中。请参阅 将 Maven nexus 存储库添加到我的 pom.xml 和 https://maven.apache.org/guides/mini/guide-multiple-repositories.html
这可能会发生,例如下载中断后,Maven 在本地存储库中缓存了引用包的损坏版本。
解决方案:手动从缓存(即您的本地存储库)中删除该插件的文件夹,然后重复
maven install
。
如何找到正确的文件夹? Maven 存储库中的文件夹遵循以下结构:
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
</dependency>
缓存在
${USER_HOME}\.m2\repository\org\apache\maven\plugins\maven-source-plugin\2.4
更新 apache-maven-3.5.0-bin pache-maven-3.5。