Java Can';从Maven存储库下载CQ DAM API JAR?

Java Can';从Maven存储库下载CQ DAM API JAR?,java,maven,aem,Java,Maven,Aem,我以前使用CRXDE Eclipse,现在我正在将项目迁移到Maven。我列出了所有依赖项。并将它们放在bundle/pom.xml中。其中一个是 <dependency> <groupId>com.day.cq.dam</groupId> <artifactId>cq-dam-api</artifactId> <version>5.5.

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

        <dependency>
            <groupId>com.day.cq.dam</groupId>
            <artifactId>cq-dam-api</artifactId>
            <version>5.5.0</version>                
        </dependency>  
当我检查.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中提供了什么范围?我仍然无法下载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项目运行了install命令。它成功了


欢迎您提供有关为什么不从存储库下载的任何信息。

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

如果我尝试此操作,那么我的浏览器将重定向到HTTPS。我的猜测是HTTP马车被重定向弄糊涂了,或者您在某个地方有一个配置不正确的Nexus代理/镜像


试着找出Maven为什么混合这些协议。在POM或Nexus上的某个地方,必须是
http://repo.adobe.com/
URL。将其替换为
https://...

这可能是因为V3.0.4之前的Maven无法遵循从http到https的301重定向。如果是这样的话,升级到Maven 3.0.4或更高版本应该可以解决它。

我发现JRE有问题,但JDK没有问题

如果您将JAVA_设置为HOME并将bin文件夹放在路径的前面,您应该会发现这是可行的

就我而言,在我的mac电脑上:

JAVA_HOME=/Library/JAVA/JavaVirtualMachines/jdk1.8.0_31.jdk PATH=${JAVA_HOME}/bin:$PATH

(您的JDK版本可能会有所不同) 然后,运行Maven签出应该不会出现可怕的“无法生成DH密钥对”错误


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

我在使用JDK 6时遇到了这个问题,切换到7,它就消失了

正如这里所回答的,真正的问题是较旧的java版本不支持1024以上的DH密钥,您需要使用java 8,该版本包含对此问题的修复。

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

export MAVEN_OPTS="-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true"

您使用的是什么版本的java?看起来您遇到了java中的一个bug,如下面的回答中所述:顺便说一下,有关提供的
范围的详细信息,请参见下页:。@DB5我使用的是java版本6。Java6可能会解释错误。这个bug只在Java8中修复。如果你迁移到Java8,那么知道会发生什么是很有意思的,否则如果不可能的话,手动安装jar可能是最好的解决方案。面对同样的问题&通过手动安装插件修复了它。谢谢你的解决方案。我的Maven版本是3.2.1。你说的很有道理@奥利弗:试着找出马文为什么把协议混在一起。在POM或Nexus上的某个地方,必须是
http://repo.adobe.com/
URL。将其替换为
https://...
我这样做了,但它仍然拒绝从repo.adobe.com下载。在这种情况下,您并没有到处修复它。你必须摆脱
http://
。我用https替换了所有adoberepos,然后用http再试一次。但它仍然显示出同样的错误。我通过手动安装jar来管理我的工作。另一件事是,如果jar的
id是
adobe
,那么adobe的jar会被下载,但是如果jar位于
adobe releases
中,那么它就不会被下载。
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
export MAVEN_OPTS="-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true"