GraalVM 本机映像中的 Saxon EE (java)
Saxon EE (java) in a GraalVM native image
我们正尝试在我们的 Quarkus 应用程序中使用 Saxon EE 编译成原生图像。
看起来 Saxon EE 中正在进行大量反射,我们正在努力将所有这些 类 1 1 1 添加到我们的反射列表中。
我们找到了这个项目 https://github.com/murphye/saxon-graalvm-native-from-cpp/blob/main/saxon-lib/src/main/resources/reflection-config.json 并且他们的反馈列表确实帮助我们更接近了,但是仍然有 EE 类 我们需要添加到它。
是否有针对 Saxon EE 的反馈列表?有没有人构建了我们可以使用的原生版本的 Saxon EE?
谢谢,
-杰夫
目前,SaxonC 是通过使用 Excelsior JET 将 SaxonJ 的 Java 代码编译为本机代码而构建的。本周早些时候发布了 SaxonC 11.1 版本(并意识到不再支持 Excelsior JET),我们的下一个计划是考虑使用 GraalVM 重建产品。
我认为这是一项相当艰巨的任务,但很难提前判断。我们做了相当多的动态加载(在转换为 SaxonCS 时我们必须摆脱它),包括与字节码生成有关的复杂位,但我认为本身没有太多反射。显然,您需要确保禁用字节码生成以及自反扩展函数。大多数动态加载与加载配置文件中命名的用户 plug-ins(作为 class 名称)有关,或者作为配置属性的值提供,如果您不使用这些功能,则加载应该不是问题。还有 JAXP 服务提供者实例化需要应对,我的直觉是把它全部去掉。
我建议先尝试走路 运行:首先在 Saxon-HE 上完成这项工作,您可以在那里访问源代码。如果你能在这方面取得进展,那么也许我们可以进行一些合作,将其扩展到 EE 代码。请直接与我们联系,这是 Whosebug 的 off-topic。
感谢 link 墨菲项目,我们并不知道。
我已经使用 Saxon EE 和 Spring Native 构建了一个版本。我使用 Native Agent 为我构建反射列表。您 运行 将它与 JAR 一起,并通过 运行 将您的测试套件通过它或手动测试来“练习”代码路径。退出后,将为您创建文件。
我打算在 Saxonica 支持论坛上提出一个问题,询问是否有计划与 Spring 和 Qurakus 合作来使这个过程更顺利。听起来这可能正在进行中?
我们正尝试在我们的 Quarkus 应用程序中使用 Saxon EE 编译成原生图像。
看起来 Saxon EE 中正在进行大量反射,我们正在努力将所有这些 类 1 1 1 添加到我们的反射列表中。
我们找到了这个项目 https://github.com/murphye/saxon-graalvm-native-from-cpp/blob/main/saxon-lib/src/main/resources/reflection-config.json 并且他们的反馈列表确实帮助我们更接近了,但是仍然有 EE 类 我们需要添加到它。
是否有针对 Saxon EE 的反馈列表?有没有人构建了我们可以使用的原生版本的 Saxon EE?
谢谢, -杰夫
目前,SaxonC 是通过使用 Excelsior JET 将 SaxonJ 的 Java 代码编译为本机代码而构建的。本周早些时候发布了 SaxonC 11.1 版本(并意识到不再支持 Excelsior JET),我们的下一个计划是考虑使用 GraalVM 重建产品。
我认为这是一项相当艰巨的任务,但很难提前判断。我们做了相当多的动态加载(在转换为 SaxonCS 时我们必须摆脱它),包括与字节码生成有关的复杂位,但我认为本身没有太多反射。显然,您需要确保禁用字节码生成以及自反扩展函数。大多数动态加载与加载配置文件中命名的用户 plug-ins(作为 class 名称)有关,或者作为配置属性的值提供,如果您不使用这些功能,则加载应该不是问题。还有 JAXP 服务提供者实例化需要应对,我的直觉是把它全部去掉。
我建议先尝试走路 运行:首先在 Saxon-HE 上完成这项工作,您可以在那里访问源代码。如果你能在这方面取得进展,那么也许我们可以进行一些合作,将其扩展到 EE 代码。请直接与我们联系,这是 Whosebug 的 off-topic。
感谢 link 墨菲项目,我们并不知道。
我已经使用 Saxon EE 和 Spring Native 构建了一个版本。我使用 Native Agent 为我构建反射列表。您 运行 将它与 JAR 一起,并通过 运行 将您的测试套件通过它或手动测试来“练习”代码路径。退出后,将为您创建文件。
我打算在 Saxonica 支持论坛上提出一个问题,询问是否有计划与 Spring 和 Qurakus 合作来使这个过程更顺利。听起来这可能正在进行中?