小编use*_*751的帖子

ECMA TypeError从Worklight适配器调用Java类

我已经看到了很多关于这个问题的问题,但没有确凿的答案.我在从Worklight适配器实现中调用Java类时遇到问题.我用IBM Worklight Java Adapter教程中的代码替换了我的代码,它以完全相同的方式失败.此外,我在IBM的网站上发现了一个回应,称Java 1.7编译器可能会导致此问题并改为使用Java 1.6.我验证了Eclipse中的编译器是Java 1.6.

Eclipse和代码路径的屏幕截图

我的Java类都以com开头(例如com.worklight.customcode).我已经尝试过调用公共静态方法(使用正确的语法)以及实例化对象和调用方法.如上所述,我还验证了我正在使用Java 1.6编译器.

以下是一些代码示例:

适配器实现文件:

function addTwoIntegers(a,b){
    return {
        result: com.worklight.customcode.Calculator1.addTwoIntegers(a,b)
    };
}
Run Code Online (Sandbox Code Playgroud)

Java文件(未经编辑的IBM Worklight示例):package com.worklight.customcode;

import java.util.logging.Logger;

public class Calculator1 {

    private final static Logger logger = Logger.getLogger(Calculator1.class.getName());

    public static int addTwoIntegers(int first, int second){
        logger.info("addTwoIntegers invoked");
        return first + second;
    }

    public int subtractTwoIntegers(int first, int second){
        logger.info("subtractTwoIntegers invoked");
        return first - second;
    }

}
Run Code Online (Sandbox Code Playgroud)

控制台出错:

TypeError:无法在对象[JavaPackage com.worklight.customcode.Calculator1]中调用属性addTwoIntegers.它不是一个功能,它是"对象".(%2FUsers%2Fhome%2Fdev%2Fapp%2Fappprj%2Fadapters%2Fadapter/adapter-impl.js#26)FWLSE0101E:引起:null

一些相关问题是:

java adapter ibm-mobilefirst

5
推荐指数
1
解决办法
3567
查看次数

标签 统计

adapter ×1

ibm-mobilefirst ×1

java ×1