JDI 为多个 class 应用 class 过滤器

JDI apply class filters for multiple classes

我正在创建一个 MethodEntryRequest,我只想将此请求应用于两个 class 模式的方法,例如:- "java.*""sun.*"。为此,我编写了以下代码。

MethodEntryRequest menr = mgr.createMethodEntryRequest();
menr.setSuspendPolicy(EventRequest.SUSPEND_ALL);
menr.addClassFilter("java.*|sun.*");

以上代码的问题在于它禁用了所有方法事件。但是,如果我只应用一种 class 模式方法,它就可以正常工作。我尝试用 "\\|" 转义 "|" 但它没有用。所以我想知道如何为多个 class 模式应用 class 过滤器?

看起来有问题,正常的 java 正则表达式不起作用。所以我通过制作两个 MethodEntryRequests 一个用于 "sun." 和一个用于 "java." 来解决我的问题。但这不是最佳答案,因为每个 class 模式都会有一个 MethodEntryRequest。