2016-03-05 76 views

回答

2

这很简单

步骤1:使用样板“Java DB Web Starter”在bluemix中创建一个项目。确保您的应用程序名称是唯一的,并检查您是否有足够的可用内存(512 MB)

步骤2:在应用程序的Overview页面上,单击Add Git Repo和Pipeline,或者在Bluemix Classic Experience中,单击ADD GIT。它会为您的项目代码生成一个GIT URL。生成的项目代码已经使用maven,当您提交新代码时,Bluemix将自动部署它。

第3步:使用eclipse克隆Git仓库,并打开该项目的pom.xml,并添加“的Java SDK”和“公共-io的”依赖这样

<dependency> 
     <groupId>com.ibm.watson.developer_cloud</groupId> 
     <artifactId>java-sdk</artifactId> 
     <version>2.8.0</version> 
    </dependency> 

    <dependency> 
     <groupId>commons-io</groupId> 
     <artifactId>commons-io</artifactId> 
     <version>2.4</version> 
    </dependency> 

这将触发行家你的eclipse项目,它会开始下载大约30 MB的库。如果你之前没有这样做,去喝点咖啡。这将需要5分钟的时间来下载和解决所有的依赖关系。

第4步:添加到您的Bluemix项目(使用Bluemix Web UI)Alchemy组件。这会将Alchemy API凭证添加到您的Bluemix App VCAP_SERVICES系统变量。

第5步:在Eclipse中,添加一个这样的代码

package qi.watson; 

import java.io.File; 
import java.io.IOException; 
import java.util.HashMap; 
import java.util.Map; 

import org.apache.commons.io.FileUtils; 

import com.ibm.watson.developer_cloud.alchemy.v1.AlchemyLanguage; 
import com.ibm.watson.developer_cloud.alchemy.v1.model.DocumentSentiment; 
import com.ibm.watson.developer_cloud.util.CredentialUtils; 

public class AlchemyAPI { 

    private AlchemyLanguage al = new AlchemyLanguage(); 

    public AlchemyAPI() throws IOException{ 
     String env = System.getenv("VCAP_SERVICES"); 
     if (env == null){ 
      env = FileUtils.readFileToString(new File("/home/leoks/git/qi/qi.json")); 
     } 

     CredentialUtils.setServices(env); 

     al.setApiKey(CredentialUtils.getAPIKey("alchemy_api")); 
    } 

    public static void main(String[] args) throws IOException, InterruptedException { 
     AlchemyAPI api = new AlchemyAPI(); 
     Map<String, Object> params = new HashMap<String, Object>(); 
     params.put(AlchemyLanguage.TEXT, "All work and no play makes Jack a dull boy"); 
     DocumentSentiment sentiment = api.al.getSentiment(params); 
     System.out.println(sentiment.getSentiment().getScore()); 
     System.out.println(sentiment.getSentiment().getType()); 
    } 
} 

第6步:在Bluemix的Web UI,点击您的应用程序,并在左侧菜单中找到一节“环境变量”。复制VCAP_SERVICES中的内容并粘贴到您的eclipse项目中的本地文本文件(例如/ home/leoks/git/Qi/Qi.json)中需要几分钟才能激活,并且您只能在Bluemix中使用1个Alchemy API模块。

有关沃森API的Java包装的更多信息,检查此链接 - https://github.com/watson-developer-cloud/java-sdk

+0

嗨,你能具体谈谈如何,我可以把应用程序bluemix.Which方法更简单的方法?是使用eclipse插件还是CF push.Wil我能够使用localHost在eclipse上运行应用程序吗?我如何在eclipse中测试我的应用程序? –

+0

我使用eclipse插件时有些不好,但是,我听说它有显着的改进。 CF更可靠但不太方便。现在,我将更改推送到Bluemix中,从样板(例如,Java DB启动器)创建项目,然后为其添加一个GIT存储库(右上角有一个按钮可以完成此操作,并且生成的项目已附带Maven支持) ,从eclipse中克隆存储库,然后提交更改。每次将更改提交到GIT时,默认情况下,Bluemix都会触发构建过程并重新启动应用程序。 – Leo

+0

为了在eclipse中本地测试您的应用程序,您可以使用CredentialsUtils类(它附带在java-sdk依赖项中)。它从VCAP_SERVICES系统变量中读取证书,但您可以轻松添加回退以从本地文件中读取相同的信息。设置完成后,您可以在本地eclipse中从Bluemix之外调用所有的Watson API。 – Leo