【问题标题】:Custom Function Unsupported major.minor version 51.0 TIBCO Designer 5.7自定义函数不支持 major.minor 版本 51.0 TIBCO Designer 5.7
【发布时间】:2019-02-08 09:23:41
【问题描述】:

我正在使用 TIBCO Designer 5.7。

在我的 Designer 代码的 Mapper 托盘中,我正在使用自定义 Java 函数“实用程序”,但在使用它时出现错误消息“自定义函数实用程序:不支持的 major.minor 版本 51.0”。在 XPath部分它说“没有这样的功能”。我认为这是因为 TIBCO 的 Java 与我的 Java JDK 不兼容。谁能详细解释一下如何解决这个问题?

请参考图片了解错误。

【问题讨论】:

    标签: tibco-business-works tibco-designer


    【解决方案1】:

    正如您所说,您的 Tibco JRE 和自定义函数 .class 文件中有不兼容的 Java 版本。 当您将使用 Java 1.7(主要版本 51.0)创建的类文件运行到较低的 Tibco 环境 JRE 版本(例如 JRE 6 或 5)中时,会出现 Unsupported major.minor version 51.0 错误。

    主要数字是:

    Java SE 13 = 57,
    Java SE 12 = 56,
    Java SE 11 = 55,
    Java SE 10 = 54,
    Java SE 9 = 53,
    Java SE 8 = 52,
    Java SE 7 = 51,
    Java SE 6.0 = 50,
    Java SE 5.0 = 49,
    JDK 1.4 = 48,
    JDK 1.3 = 47,
    JDK 1.2 = 46,
    JDK 1.1 = 45
    

    (来源:https://en.wikipedia.org/wiki/Java_class_file#General_layout

    您可以在 Tibco Designer 中查看 Tibco JRE 版本 Help->Runtime Environment -> Java tab ->(java.runtime.version)

    您可以通过

    查看自定义函数的版本
    javap -verbose MyFunction.class| findstr "major"
    

    how to check the jdk version used to compile a .class file

    因此,您需要更改您的 tibco JRE 版本以与您的类版本兼容,或者使用与您的 Tibco JRE 兼容的版本重新构建您的自定义函数类。

    您可以在构建函数时使用 -target 选项在 java 编译器中指定 java 版本。

    javac -target 1.6 MyFunction.java
    

    如果你没有函数的源代码,你可以使用JDhttp://jd.benow.ca/这样的反编译器

    要在 Tibco 中更改 JRE,您需要将所有 .tra 文件重新配置为新的 java 版本路径。您可以为此使用 /tra//bin/traUpgradeManager 实用程序:

    traUpgradeManager -path C:/tibco/bw/5.7 -jre C:/tibco/jre/1.7
    traUpgradeManager -path C:/tibco -jre C:/tibco/jre/1.7     
    

    详情请见https://support.tibco.com/s/article/Tibco-KnowledgeArticle-Article-33612

    请注意,在所有 tibco 环境中更改 JRE 可能并非易事。在您的情况下,重新编译自定义函数更容易匹配。

    【讨论】:

    【解决方案2】:

    您好,我可以通过以下步骤解决它:- 1)转到存储自定义java类的文件夹,在我的例子中是“Utilities.java”

    2) 现在我们将使用 TIBCO 的 java 为这个类创建一个 .class 文件,而不是我们自己本地安装的 java jre,因为新的 .class 文件将是 TIBCO 的, 为此转到您的 TIBCO_HOME>tibcojre64>1.6.0>bin,在此处运行 CMD 并给出以下命令:-

    这将在同一文件夹中创建一个 Utilities.class 文件

    3) 现在在 Designer 中创建一个自定义 Java 函数并引用这个 .class 文件。

    4) 现在加载-> 应用-> 保存项目并重新启动设计器。错误将消失

    【讨论】:

    猜你喜欢
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 2015-05-29
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    相关资源
    最近更新 更多