【问题标题】:Ecma Error: TypeError: Cannot call propertyEcma 错误:TypeError:无法调用属性
【发布时间】:2013-03-27 10:15:33
【问题描述】:

我在worklight 项目的适配器中编写了一些java 代码。当我尝试调用 java 方法时,我收到一个错误提示

"responseID":"6","errors": {Ecma 错误:TypeError:无法调用对象中的属性 downloadFile JavaPackage java.classes.FileIOPlugin]。不是函数,是 \"对象\"。}

我已完全按照以下链接中所述的程序进行操作。 Using Java in Adapters

这是我的项目结构。这个结构有什么问题吗,还是我应该在其中添加更多内容?

这就是我试图在 adapter-impl.js 中调用 java 非静态方法的方式

function downloadFile() {
    var fileInstance = new com.worklight.JavaCode.FileIOPlugin();
    return
    {   result: fileInstance.downloadFile();    };

}

【问题讨论】:

    标签: ibm-mobilefirst


    【解决方案1】:

    我们已经确定了另一种可能的解决方案。

    • 将 Java 编译器级别更改为 1.6,并将默认 JRE 更改为 1.6:

    【讨论】:

    • 我遇到了类似的问题,@christianmenkens 在this se post 的回复解决了我的问题
    • 你发现了!我还必须从服务器中删除以前的“格式错误”的应用程序并重建 WAR
    【解决方案2】:

    检查您的 .project 文件并确保其中包含正确的 buildCommand 标签。

    <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.wst.common.project.facet.core.builder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>com.worklight.studio.plugin.WorklightProjectBuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.wst.validation.validationbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    

    阅读更多:ECMA TypeError calling Java class from Worklight adapter

    【讨论】:

      【解决方案3】:

      在实例化对象时尝试添加括号:

      var fileInstance = new com.worklight.JavaCode.FileIOPlugin()
      

      【讨论】:

        【解决方案4】:

        确保您的包以 com 开头,例如将其重命名为“com.classes”。

        【讨论】:

        • 您好,感谢您的回复。但我也试过了。我遇到了同样的错误。
        猜你喜欢
        • 2023-03-19
        • 2021-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-23
        • 1970-01-01
        • 2013-01-29
        相关资源
        最近更新 更多