Za każdym razem, gdy próbuję otworzyć Eclipse w Ubuntu 12.04, pojawia się błąd niezadowolonego łącza i nie można go otworzyć. Niedawno zainstalowałem Java JDK i Android SDK, czy to może być problem? Wykonałem ten samouczek .
Oto informacje z dziennika:
!SESSION 2012-04-15 21:05:46.902 -----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.7.0
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB
Command-line arguments: -os linux -ws gtk -arch x86_64
!ENTRY org.eclipse.osgi 4 0 2012-04-15 21:05:47.885
!MESSAGE Application error
!STACK 1
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-gtk-3740 in java.library.path
no swt-gtk in java.library.path
Can't load library: /home/tom/.swt/lib/linux/x86_64/libswt-gtk-3740.so
Can't load library: /home/tom/.swt/lib/linux/x86_64/libswt-gtk.so
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:285)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:194)
at org.eclipse.swt.internal.C.<clinit>(C.java:21)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:132)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:695)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:153)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:95)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Próbowałem odinstalować i ponownie zainstalować i usunąć ~/.eclipse
katalog, ale nadal nie działa
java
eclipse
ubuntu
unsatisfiedlinkerror
TomRichardson
źródło
źródło
Odpowiedzi:
na moim Ubuntu 12.04 32 bit . Edytuję polecenie, aby:
W wersji 64-bitowej Ubuntu 12.04 spróbuj:
źródło
ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/
ROZWIĄZANY:
Ponieważ zainstalowałem Oracle Java 7, zmieniłem domyślną Javę na Oracle Java 7, jednak musiał to być Open JDK.
Aby to naprawić, otwórz terminal i wpisz
Spowoduje to wyświetlenie listy różnych typów Java. Po prostu wybierz Open JDK.
źródło
Po prostu określ ścieżkę do bibliotek:
źródło
W moim przypadku brakowało mi
/usr/lib/jni
katalogu całkowicie. Naprawione przezNie ma potrzeby późniejszego tworzenia dowiązań symbolicznych. Zaćmienie rozpoczęło się normalnie.
źródło
wygląda na to, że biblioteki powinny być w .swt / lib / linux / x86_64 / jeśli nie ma, możesz wypróbować to polecenie:
powinno to znaleźć biblioteki kopiujące cały katalog do /home/tom/.swt/lib/linux/x86_64
źródło
Zgadzam się ze Scottem, co wymieniał, działało. Jednak samo uruchomienie go z dowolnego katalogu nie działało. Musiałem cd do plików / home / * /.swt/lib/linux/x86_64/0
najpierw katalog, a następnie uruchom polecenie link:
Dla wersji 32-bitowej:
A na Ubuntu 12.04 64 bit:
źródło
Na redhat7:
wykonał robotę z powodu zależności SWT.
znaleziono tutaj
źródło
Jeśli zaczniesz zaćmienie za pomocą Javy, zaćmienie może nie być w stanie znaleźć bibliotek rodzimych, takich jak biblioteki SWT lub SVN. Biblioteki SWT-JNI znajdują się w / usr / lib / jni /, a biblioteki SVN-JNI znajdują się w / usr / lib / x86_64-linux-gnu / jni /.
Zamiast zaczynać zaćmienie za pomocą polecenia
możesz użyć polecenia
przekazać zmienną środowiskową LD_LIBRARY_PATH do zaćmienia. Eclipse znajdzie biblioteki natywne i będzie działał poprawnie.
źródło
Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0 WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.eclipse.osgi.internal.baseadaptor.BaseStorage (file:/usr/lib/eclipse/plugins/org.eclipse.osgi_3.8.1.dist.jar) to method java.net.URLClassLoader.addURL(java.net.URL) WARNING: Please consider reporting this to the maintainers of org.eclipse.osgi.internal.baseadaptor.BaseStorage
Jak mogę go rozwiązać?Ten błąd natrafiłem na próbę uruchomienia 32-bitowej wersji Eclipse pod 64-bitowym linuksem. Problem został rozwiązany po zainstalowaniu pakietu ia32-libs.
źródło
Upewnij się, że partycja domowa jest zamontowana z uprawnieniami do wykonywania. Jest to ustawienie domyślne, ale jeśli zdarzy się zamontować go bez opcji exec, pojawi się ten błąd.
źródło
Prawdopodobnie bardziej ogólną metodą jest:
źródło
Zainstalowałem 32-bitowy JDK, dlatego otrzymuję błędy. Po zainstalowaniu 64-bitowego JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html jdk-8u131-linux-x64.tar.gz (pobierz wersję 64) i pobierz 64-bitowy „eclipse-inst-linux64.tar.gz”.
źródło
W przypadku Windows Subsystem for Linux (WSL) będziesz potrzebować
Jeśli nie masz OpenJDK 8, będziesz także potrzebować
źródło