Maven Managed Jars 未下载

Maven Managed Jars not downloaded

我遇到一个问题,我在 POM.xml 文件中指定的 JAR 文件没有下载/导入到我的项目中。我知道这是由于我公司内部实施的网络限制造成的。

以下是我目前需要的 JAR 文件的一些示例:

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.5</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>com.enterprisedt</groupId>
  <artifactId>edtFTPj</artifactId>
  <version>1.5.3</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>xerces</groupId>
  <artifactId>xercesImpl</artifactId>
  <version>2.8.0</version>
  <scope>compile</scope>
</dependency>

我想与我的网络管理员一起了解并纠正现有的限制,这些限制阻止了这些(和其他)Jar 文件(依赖项)的自动 Maven 管理。

我的问题是...如何向我的管理员指定这些依赖项的下载位置?是否有一个 URL 是使用我的依赖描述符构建的,试图联系它以尝试从中获取 Jar 文件?

为什么我可以使用浏览器下载 Jar 文件,而 Maven 托管依赖项下载(通过我的 IDE、SpringSource 工具套件)似乎被阻止了?

我对 Maven 环境了解不够,无法帮助我的网络管理员。

谢谢!

2016 年 8 月 23 日编辑:

我可以使用 settings.xml 文件告诉我的 IDE 我们的代理服务器。我仍然无法解决我的依赖关系。我认为我的等式中仍然缺少的是,我需要为我的代理服务器提供 'Certificate',以便它为我提供 'open the doors'。我们在网络上安装了此功能,因此我时不时需要 'sign in' 到我们的网络以允许浏览器工作。当我登录时,我正在做的是获取有效证书。当我在 mac 工作站上查找此证书时,我可以看到它在我的 'Keychain Access' 中进行管理。

所以问题来了...有没有办法告诉 IDE 证书在哪里以及如何使用它?

非常感谢您的帮助!

斯科特

因为您可能在代理后面,并且浏览器可能配置为在代理后面工作,而 Maven 没有。

为了定义代理,您必须在 $M2_HOME/conf/settings.xml:

中配置代理

通常是这样的:

<proxies>
  <proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <username>mkyong</username>
  <password>password</password>
  <host>proxy.host.com</host>
  <port>1234</port>
  <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>

现在关于存储库。 Maven 默认使用名为 repo1 的远程存储库,但有时您会想要定义自己的存储库(同样,通常这在 settings.xml 文件中完成)

通常组织维护具有一些 UI 的代理并为第三方提供缓存。像 NexusArtifactory 这样的项目提供了这样的存储库管理。所以通常你安装其中之一,然后配置本地 Maven 发行版以针对该管理器工作。