Я пытаюсь отобразить любой веб-сайт, используя внутренний браузер Eclipse.Почему в Java возникает исключение NoSuchFieldError?
Вот код, который я пытаюсь:
public class WebTest {
public static void main(String[] args) {
NativeInterface.open();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame("YouTube Viewer");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.getContentPane().add(getBrowserPanel(),
BorderLayout.CENTER);
frame.setSize(800, 600);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
});
NativeInterface.runEventPump();
// don't forget to properly close native components
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
NativeInterface.close();
}
}));
}
public static JPanel getBrowserPanel() {
JPanel webBrowserPanel = new JPanel(new BorderLayout());
JWebBrowser webBrowser = new JWebBrowser();
webBrowserPanel.add(webBrowser, BorderLayout.CENTER);
webBrowser.setBarsVisible(false);
webBrowser.navigate("https://www.youtube.com/v/b-Cr0EWwaTk?fs=1");
return webBrowserPanel;
}
}
Однако, когда я пытаюсь запустить его, я получаю следующее исключение:
Exception in thread "main" java.lang.NoSuchFieldError: DEPENDENCIES_CHECKVERSIONS
at chrriis.dj.nativeswing.swtimpl.NSSystemPropertySWT.<clinit>(NSSystemPropertySWT.java:94)
at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.<clinit>(SWTNativeInterface.java:86)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at chrriis.dj.nativeswing.swtimpl.internal.NativeCoreObjectFactory.create(NativeCoreObjectFactory.java:38)
at chrriis.dj.nativeswing.swtimpl.NativeInterface.<clinit>(NativeInterface.java:22)
at WebTest.main(WebTest.java:14)
Так что явно что-то не так с моей зависимости ... Но я не уверен, как это исправить, я включил все необходимые банки:
Любые идеи?
Журнал говорит, что ваш DJ Native Свинг библиотека не имеет поле 'DEPENDENCIES_CHECKVERSIONS'. Попробуйте обновить эту зависимость. –