【问题标题】:Getting started with IBM Cloud Object Storage Java Client - How to run sample code?IBM Cloud Object Storage Java Client 入门 - 如何运行示例代码?
【发布时间】:2018-01-26 14:09:47
【问题描述】:

我正在尝试开始使用 java 客户端。这是 Cos 文档:https://console.bluemix.net/docs/services/cloud-object-storage/libraries/java.html#java

在说出我所做的之前 - 我只想能够运行示例代码。我已经在这个简单的事情上坚持了 2 天,并且会尝试您建议的任何解决方案。

我按照以下步骤操作:

git clone https://github.com/IBM/ibm-cos-sdk-java.git
 Open IntelliJ->Import Project->select the path to ibm-cos-sdk-java->Import project from existing model (select maven)->next->next

现在我只想添加代码并运行它。

第一次尝试 - 我尝试将代码“CosExample.java”粘贴到创建的工作目录中。 但是 - 出现红色圆圈,并且无法运行该文件。 (What does this symbol mean in IntelliJ? (red circle on bottom-left corner of file name, with 'J' in it)) 1 第二次尝试 - 我尝试打开新目录(名为“S3Proj”)并将代码放入正确的结构中。像这儿。此外,为了修复红色圆圈,我将 java 目录标记为“Source”,以便它能够运行。但是现在一切都无法编译。 我该怎么办 ?谢谢

编辑: 在@PatrickB 评论之后,我添加了我的第一次尝试——只使用 com.ibm.cos 的 maven 依赖项

无需克隆项目。它不起作用,因为行

import com.ibm.oauth.BasicIBMOAuthCredentials;

没有编译。 (其余的确实编译)

本次尝试的 pom 文件:

    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>S3Operation</groupId>
    <artifactId>S3Operation</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>com.ibm.cos</groupId>
            <artifactId>ibm-cos-java-sdk</artifactId>
            <version>2.0.0</version>
        </dependency>
    </dependencies>

</project>

最后编辑:已解决 文档中有错误的导入,因此无法编译。

这里 https://console.bluemix.net/docs/services/cloud-object-storage/libraries/java.html#java?cm_sp=dw-bluemix--nospace--answers

此导入不会编译:

导入 com.ibm.oauth.BasicIBMOAuthCredentials;

这是正确的导入:

导入 com.ibm.cloud.objectstorage.oauth.BasicIBMOAuthCredentials;

【问题讨论】:

  • 第一种情况 - 文件不在源根目录下。第二种情况 - 您的根模块不包含所需的依赖项 (ibm-cos-java-sdk-core )
  • @y.bedrov 你能给我更多的细节吗? pom 文件确实包含该依赖项。第二 - 我将“java”目录标记为源。我应该做些什么不同的事情?

标签: intellij-idea object-storage ibm-cloud-storage


【解决方案1】:

我不会将 sdk 源代码克隆到您的项目中。使用 cos sdk 的一种更有效的方法是创建一个 maven 项目,将 cos sdk 依赖项添加到您的 pom.xml 中,例如

<dependency>
<groupId>com.ibm.cos</groupId>
<artifactId>ibm-cos-java-sdk</artifactId>
<version>2.0.0</version>
<type>pom</type>
</dependency>

假设 maven 已正确安装,这将自动将 sdk 存档从 maven Central 拉入您的项目。然后将您的客户端代码(例如 CosExample)添加到 src/main/java 文件夹。

【讨论】:

  • 谢谢,这是我的第一次尝试,但是导入了:import com.ibm.oauth.BasicIBMOAuthCredentials;没有编译,所以我尝试克隆 SDK。我正在编辑中添加与它相关的屏幕截图。
  • 导入语句'import com.ibm.oauth.BasicIBMOAuthCredentials;'对我来说看起来不正确。我认为应该是'import com.ibm.cloud.objectstorage.oauth.BasicIBMOAuthCredentials;'
  • 天啊,你是对的,我不敢相信由于文档中的错误,我一直坚持这一点谢谢!!!
猜你喜欢
  • 2018-08-28
  • 1970-01-01
  • 1970-01-01
  • 2018-12-03
  • 2020-03-19
  • 2021-07-03
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
相关资源
最近更新 更多