我遇到的问题是我在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>
我希望与网络管理员合作,了解并纠正阻止自动Maven管理这些(和其他)Jar文件(依赖项)的限制。
我的问题是......如何向我的管理员指定从哪里下载这些依赖项?是否有使用我的依赖描述符构建的URL,尝试联系以尝试从中获取Jar文件?
为什么我能够使用我的浏览器下载Jar文件,因为Maven Managed依赖下载(通过我的IDE,SpringSource Tool Suite)似乎被阻止了?
我不太了解Maven环境,以帮助我的网络管理员帮助我。
谢谢!
编辑08/23/2016:
我可以使用settings.xml文件告诉IDE我们的代理服务器。我仍然无法解决我的依赖关系。从我的等式中我仍然缺少的是我需要提供一份证书&#39;到我的代理服务器,它打开门#39;为了我。我们已经在我们的网络上安装了此功能,以便我时不时地登录&#39;到我们的网络,以允许浏览器工作。当我登录时,我正在做的是获得有效的证书。我可以看到此证书是在我的“钥匙串访问”中管理的。当我在我的mac工作站上查找它时。
所以这就是问题......有没有办法告诉IDE证书的位置以及如何使用它?
我很感激帮助!
斯科特
答案 0 :(得分:0)
因为您可能在代理之后,并且浏览器可能配置为在代理后面工作,而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的代理并为第三方提供缓存。像 Nexus 或 Artifactory 这样的项目提供了像这样的存储库管理。因此,通常安装其中一个,然后配置本地Maven分发以对该管理器起作用。