如何用不同的版本替换 Tapestry(5.4 版)的默认 JQuery.js

How to replace Tapestry's (version 5.4) default JQuery.js with a different version

Tapestry 的默认 JQuery.js 不适用于某些框架,例如 bootstrap。如果包含两个 JQuery 实例也会有冲突吗?如何用特定 JQuery 版本替换默认版本?

您可以通过为 JavaScriptStack 中的 "jquery-library" 提供覆盖来更改 jQuery 版本。

有一个 AppModule 的扩展示例 available on gist,重要的部分是:

@Core
@Contribute(JavaScriptStack.class)
public static void overrideJquery(OrderedConfiguration<StackExtension> conf) {
    conf.override("jquery-library", StackExtension.library("classpath:META-INF/assets/jquery/jquery-X.X.X.min.js"));
}

jQuery 也有一个 built in solution 用于 $ 变量被其他库或多个 jQuery 版本使用的情况。

引用他们的文档:

If for some reason two versions of jQuery are loaded (which is not recommended), calling $.noConflict( true ) from the second version will return the globally scoped jQuery variables to those of the first version.