Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用AEM解析org.apache.http.ssl?_Java_Maven_Amazon Web Services_Aem - Fatal编程技术网

Java 如何使用AEM解析org.apache.http.ssl?

Java 如何使用AEM解析org.apache.http.ssl?,java,maven,amazon-web-services,aem,Java,Maven,Amazon Web Services,Aem,最终,我尝试在Java代码中使用AWS S3库来支持AEM的服务器端S3上传,但在AEM安装和/或识别依赖项时遇到了问题。每次我添加一个新的依赖项,都会弹出另外五个问题 在我试图构建的这个捆绑包中,我看到的错误是: mypom.xml中的说明如下: <instructions> <Embed-Transitive>true</Embed-Transitive> <Export-Package>

最终,我尝试在Java代码中使用AWS S3库来支持AEM的服务器端S3上传,但在AEM安装和/或识别依赖项时遇到了问题。每次我添加一个新的依赖项,都会弹出另外五个问题

在我试图构建的这个捆绑包中,我看到的错误是:

my
pom.xml
中的
说明如下:

    <instructions>
        <Embed-Transitive>true</Embed-Transitive>
        <Export-Package>
            com.amazonaws.HttpMethod,
            com.amazonaws.services.s3.*
        </Export-Package>
        <Embed-Dependency>
            gson,
            aws-java-sdk-s3,
            aws-java-sdk-core,
            aws-java-sdk-kms,
            jackson-core,
            jackson-databind,
            jackson-annotations,
            jackson-dataformat-cbor,
            ion-java,
            httpclient,
            brooklyn-karaf-httpcomponents-extension
        </Embed-Dependency>
    </instructions>

真的
com.amazonaws.HttpMethod,
com.amazonaws.services.s3*
格森,
aws-java-sdk-s3,
aws java sdk核心,
aws java sdk kms,
jackson core,
杰克逊数据绑定,
杰克逊注释,
杰克逊数据格式cbor,
ion java,
httpclient,
布鲁克林卡拉夫http组件扩展
我在谷歌上搜索了一下发现:

我认为这个依赖项可以解决我的问题,所以我把它放在我的依赖项列表中,但是包仍然显示为红色

我的所有依赖项:

<dependencies>
    <!-- OSGi Dependencies -->
    <dependency>
        <groupId>org.apache.felix</groupId>
        <artifactId>org.apache.felix.scr</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.felix</groupId>
        <artifactId>org.apache.felix.scr.annotations</artifactId>
    </dependency>
    <dependency>
        <groupId>biz.aQute</groupId>
        <artifactId>bndlib</artifactId>
    </dependency>
    <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>org.osgi.core</artifactId>
    </dependency>
    <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>org.osgi.compendium</artifactId>
    </dependency>
    <!-- Other Dependencies -->

    <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.7</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
    </dependency>

    <dependency>
        <groupId>javax.jcr</groupId>
        <artifactId>jcr</artifactId>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
    </dependency>

    <dependency>
        <groupId>com.adobe.aem</groupId>
        <artifactId>aem-api</artifactId>
    </dependency>

    <dependency>
        <groupId>org.apache.sling</groupId>
        <artifactId>org.apache.sling.models.api</artifactId>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-s3 -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-s3</artifactId>
        <version>1.11.115</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-core -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-core</artifactId>
        <version>1.11.115</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-kms -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-kms</artifactId>
        <version>1.11.115</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.9.4</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>junit-addons</groupId>
        <artifactId>junit-addons</artifactId>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.6.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.6.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.6.3</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-cbor -->
    <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-cbor</artifactId>
        <version>2.6.3</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/software.amazon.ion/ion-java -->
    <dependency>
        <groupId>software.amazon.ion</groupId>
        <artifactId>ion-java</artifactId>
        <version>1.0.2</version>
    </dependency>

    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.5.2</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.brooklyn/brooklyn-karaf-httpcomponents-extension -->
    <dependency>
        <groupId>org.apache.brooklyn</groupId>
        <artifactId>brooklyn-karaf-httpcomponents-extension</artifactId>
        <version>0.11.0-20170403.1534</version>
    </dependency>
</dependencies>

org.apache.felix
org.apache.felix.scr
org.apache.felix
org.apache.felix.scr.annotations
商业水
bndlib
org.osgi
org.osgi.core
org.osgi
org.osgi.compendium
com.google.code.gson
格森
2.7
org.slf4j
slf4j api
javax.jcr
jcr
javax.servlet
servlet api
com.adobe.aem
aem api
org.apache.sling
org.apache.sling.models.api
亚马逊网站
aws-java-sdk-s3
1.11.115
亚马逊网站
aws java sdk核心
1.11.115
亚马逊网站
aws java sdk kms
1.11.115
乔达时间
乔达时间
2.9.4
朱尼特
朱尼特
4.12
测试
junit插件
junit插件
com.fasterxml.jackson.core
杰克逊核心
2.6.3
com.fasterxml.jackson.core
杰克逊数据绑定
2.6.3
com.fasterxml.jackson.core
杰克逊注释
2.6.3
com.fasterxml.jackson.dataformat
jackson数据格式cbor
2.6.3
软件亚马逊
离子爪哇
1.0.2
org.apache.httpcomponents
httpclient
4.5.2
org.apache.brooklyn
布鲁克林卡拉夫http组件扩展
0.11.0-20170403.1534

这是您的“httpclient”依赖项的依赖项问题。。您应该尝试更低版本的httpclient

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.2</version>
</dependency>

org.apache.httpcomponents
httpclient
4.5.2

使用:4.5.2或更低版本,不要使用任何beta或redhat版本

在AEM实例中安装AWS依赖项的最简单方法是使用官方AEM Oak S3连接器,该连接器可从获得。这还假设您的实例中没有使用S3数据存储,否则所有这些文件和JAR都已经存在了。为了得到这个答案,我将参考。您可以在上面看到有关安装和配置S3数据存储的更多详细信息,但是,这个答案并不关注S3数据存储配置,它只是提供实例中的所有库

建议使用这种方法,因为它可以使您的AEM实例与Adobe的AEM官方修补程序和服务包兼容,这些修补程序和服务包通常使用较旧版本的AWS SDK,而不是AWS开发者网站提供的版本

要安装AWS S3库,请执行以下步骤:

  • 从下载最新的com.adobe.granite.oak.s3connector-.zip
  • 将zip文件解压缩到临时文件夹中
  • 从临时文件夹中,将jcr_root/libs/system/install下的所有文件复制到“crx quickstart/install”文件夹中。您应该会看到一些名为1,5,15的文件夹。如果您检查这些,它们包含几个jar文件,包括AWS SDK
  • 不要复制配置文件,因为它们将设置AEM实例以连接到S3数据存储,而S3数据存储不是此阶段所需的
  • 启动/重新启动实例并等待其完成
  • 要验证您是否拥有所有文件,请执行以下操作:

  • 转到/系统/控制台/捆绑包
  • 检查
    AWS SDK For Java For OSGicom.amazonaws.AWS Java SDK osgi
    是否处于活动状态
  • 单击此捆绑包并查看所有导入和导出,其中包括代码运行所需的库

  • 遵循此方法可确保保留现有数据存储,并在您的系统中正确安装与AEM兼容的AWS SDK。

    请尝试从4.5.2开始的以下版本,我也遇到了同样的问题。在这之后,我使用了下面的版本问题得到了解决。我已经降级到4.4,这是我能走的最远的一个版本,直到我的测试开始崩溃,但这并没有解决问题。更简单的选择可能是安装AWS S3连接器,其中包括所有这些文件。然后,您可以将所有依赖项范围更改为“提供”,而不必担心缺少依赖项。这也将确保您的软件包将来不会与S3连接器产生不兼容。@i.net实际上,这在安装后不久就阻塞了我的AEM实例,因此可能不是一个好主意。这可能是因为AWS库版本混合。尝试卸载JAR(系统/控制台)并自行安装AEM S3连接器。S3连接器具有较旧版本的AWS SDK。