无法从Maven Repository下载CQ DAM API JAR?

时间:2015-01-05 09:59:43

标签: java maven cq5

我以前使用CRXDE Eclipse我正在将项目迁移到Maven。我列出了所有依赖项。并将它们放在bundle / pom.xml中。其中一个是

        <dependency>
            <groupId>com.day.cq.dam</groupId>
            <artifactId>cq-dam-api</artifactId>
            <version>5.5.0</version>                
        </dependency>  

我还在Parent POM.xml中添加了存储库信息

 <repository>
    <id>adobe-releases</id>
    <url>https://repo.adobe.com/nexus/content/groups/public/</url>
  </repository>

如提到Here

除了这个罐子外,所有其他罐子都会被下载。 我尝试安装时出现错误

[ERROR] Failed to execute goal on project hrportal-bundle: Could not resolve dep
endencies for project hrporatal:hrportal-bundle:bundle:1.1.0-SNAPSHOT: Failed to
 collect dependencies at com.day.cq.dam:cq-dam-api:jar:5.5.0: Failed to read art
ifact descriptor for com.day.cq.dam:cq-dam-api:jar:5.5.0: Could not transfer art
ifact com.day.cq.dam:cq-dam-api:pom:5.5.0 from/to adobe (http://repo.adobe.com/n
exus/content/groups/public): java.lang.RuntimeException: Could not generate DH k
eypair: Prime size must be multiple of 64, and can only range from 512 to 1024 (
inclusive) -> [Help 1]

当我检查.m2文件夹时,我无法看到下载的JAR,我只看到一个文件中写有以下内容。

#NOTE: This is an Aether internal implementation file, its format can be changed without prior notice.
#Mon Jan 05 15:19:27 IST 2015
http\://repo.maven.apache.org/maven2/.lastUpdated=1420449912904
https\://code.lds.org/nexus/content/groups/main-repo/.error=
@default-https\://repo.adobe.com/nexus/content/groups/public/.lastUpdated=1420451367149
http\://repo.maven.apache.org/maven2/.error=
https\://code.lds.org/nexus/content/groups/main-repo/.lastUpdated=1420449911681
@default-http\://repo.adobe.com/nexus/content/groups/public/.lastUpdated=1420451366718
https\://repo.adobe.com/nexus/content/groups/public/.error=Could not transfer artifact com.day.cq.dam\:cq-dam-api\:pom\:5.5.0 from/to adobe-releases (https\://repo.adobe.com/nexus/content/groups/public/)\: java.lang.RuntimeException\: Could not generate DH keypair
http\://repo.adobe.com/nexus/content/groups/public/.error=Could not transfer artifact com.day.cq.dam\:cq-dam-api\:pom\:5.5.0 from/to adobe (http\://repo.adobe.com/nexus/content/groups/public)\: java.lang.RuntimeException\: Could not generate DH keypair

请帮帮我,我是Maven的新手。什么是范围提供的Maven?

6 个答案:

答案 0 :(得分:1)

我仍然无法下载jar。我找到了解决方法。

我手动下载了JAR并使用以下命令在Maven中安装了它。

mvn install:install-file -DgroupId=com.day.cq.dam -DartifactId=cq-dam-api -Dversion=5.5.0 -Dpackaging=jar -Dfile=C:\Users\okaunds\Desktop\cq-dam-api-5.5.0.jar

然后我为CQ项目运行了我的安装命令。它起作用了。

欢迎任何有关它未从存储库下载的输入。

答案 1 :(得分:1)

如果仔细查看错误消息,您会看到您告诉Maven通过HTTPS(使用SSL)下载,但Maven实际上尝试通过HTTP(没有SSL)下载。

如果我试试这个,那么我的浏览器会被重定向到HTTPS。我的猜测是HTTP旅行车被重定向弄糊涂了,或者你有一个Nexus代理/镜像没有正确配置。

尝试找出Maven混合协议的原因。在POM或Nexus的某个位置,必须是http://repo.adobe.com/网址。将其替换为https://...

答案 2 :(得分:0)

这可能是http://jira.codehaus.org/browse/MNG-4838,其中在V3.0.4之前的Maven无法遵循从http到https的301重定向。如果是这种情况,升级到Maven 3.0.4或更高版本应该修复它。

答案 3 :(得分:0)

我发现JRE存在问题,但JDK没有问题......

如果您设置了JAVA_HOME&amp;将bin文件夹放在路径的前面 - 你应该会发现它有效。

就我而言,在我的Mac上:

JAVA_HOME = /库/爪哇/ JavaVirtualMachines / jdk1.8.0_31.jdk PATH = $ {JAVA_HOME} / bin中:$ PATH

(您的JDK版本可能会有所不同) 然后运行Maven结账应该没有可怕的&#34;无法生成DH密钥对&#34;错误

(这解决了我在Java 8&amp; Maven 3.2.5中遇到的问题)

答案 4 :(得分:0)

正如在这里回答Java: Why does SSL handshake give 'Could not generate DH keypair' exception?一样,真正的问题是较旧的java版本不支持1024以上的DH密钥,您需要使用包含修复程序的Java 8。

答案 5 :(得分:0)

对于遇到此问题的其他人,您还可以通过放宽对证书的检查来选择信任SSL端点:

undefined