Java ServiceLoader Loads в Java22, но не в Java23JAVA

Программисты JAVA общаются здесь
Anonymous
Java ServiceLoader Loads в Java22, но не в Java23

Сообщение Anonymous »

У меня есть программа, которая использует ServiceLoader, которая отлично работает в Java22, но ничего не загружает в Java23. < /p>
Где я могу узнать о различиях в поведении между двумя разными версиями. На данный момент я знаю только, что находит что -нибудь, чтобы загрузить. < /P>
Код выглядит так. < /P>
public void loadPlugins() {
ServiceLoader serviceLoader = ServiceLoader.load(EPlugBase.class);
msgMainListener.Send(new EMsgData.Builder().setType(EMsgData.MsgType.DEBUG).setSender(this).setText("Service Loader: " + serviceLoader.toString() + "\n").build());
Integer count = 0;

for (EPlugBase plugin : serviceLoader) {
LOG.log(Level.INFO, "load plug {0}", plugin.getName());
count++;
msgMainListener.Send(new EMsgData.Builder().setType(EMsgData.MsgType.PLUGINLOAD).setSender(this).setData(new EPair(jarinfos.size(), count)).setText(plugin.getName()).build());
msgMainListener.Send(new EMsgData.Builder().setType(EMsgData.MsgType.DEBUG).setSender(this).setText(plugin.getName()).build());
plugins.add(plugin);
// set the message listener
plugin.setMsgListener((EMsgData msg) -> msgListener(msg));
// init will return a List of listeners that are added to downlisteners
downlisteners.addAll(plugin.init(frame, datamodules));
// add any settings panels to the dialog
settingsDialog.addPanels(plugin.getSettingPanels());
// add menu stuff for this plugin
buildMenus(plugin);
}
< /code>
Этот код находится в банке, который называется основной программой JAR. В настоящее время я запускаю это в NetBeans IDE. При составлении с Java22 он работает ОК.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -in-java23

Вернуться в «JAVA»