Jak uzyskać katalog instalacyjny Eclipse przez programowanie w swt/java. Rzeczywiście chcę uzyskać katalog wtyczek zaćmienia.Jak zdobyć katalog lub ścieżkę instalacji/wtyczek środowiska Eclipse?
Odpowiedz
Aktualizacja (styczeń 2012)
James Moore wspomina w the comments że Pytania i API są dość stare.
FileLocator.resolve(URL)
jest teraz preferowany w stosunku do wycofanego Platform.resolve()
.
Jako this example pokazy, trzeba zdać rzeczywistej zasobu (tutaj bundle) nie nazwę zasobu, aby go rozwiązać:
private static URI locateFile(String bundle, String fullPath) {
try {
URL url = FileLocator.find(Platform.getBundle(bundle), new Path(fullPath), null);
if(url != null)
return FileLocator.resolve(url).toURI();
} catch (Exception e) {}
return null;
}
}
Patrz także „How to refer a file from jar file in eclipse plugin” więcej.
Original odpowiedź (styczeń 2011)
Może FAQ "How do I find out the install location of a plug-in?" może pomóc tutaj:
Należy ogólnie unikać założenia o lokalizacji plug-in w czasie wykonywania.
Aby znaleźć zasoby, takie jak obrazy, które są przechowywane w katalogu instalacyjnym wtyczki, można użyć adresów URL podanych w klasiePlatform
. Te adresy URL używają specjalnego protokołu Eclipse Platform, ale jeśli używasz ich tylko do odczytu plików, nie ma to znaczenia.w Eclipse 3.1 i wcześniejszych, następujący fragment otwiera strumień wejściowy na pliku o nazwie
sample.gif
znajdujący się w podkatalogu o nazwieicons
, z plug-in ZAINSTALUJ katalogu:
Bundle bundle = Platform.getBundle(yourPluginId);
Path path = new Path("icons/sample.gif");
URL fileURL = Platform.find(bundle, path);
InputStream in = fileURL.openStream();
Jeśli musisz znać lokalizację systemu plików wtyczki, musisz użyć
Platform.resolve(URL)
. Ta metoda przekształca URL platformy na standardowy protokół URL, taki jak HyperText Transfer Protocol (HTTP) lub plik.
Należy zauważyć, że platforma Eclipse nie określa, że wtyczki muszą istnieć w lokalnym systemie plików, więc nie można polegać na tym, że ta metoda zwróci adres URL systemu plików we wszystkich okolicznościach w przyszłości.w Eclipse 3.2, preferowaną metodą wydaje się być:
Bundle bundle = Platform.getBundle(yourPluginId);
Path path = new Path("icons/sample.gif");
URL fileURL = FileLocator.find(bundle, path, null);
InputStream in = fileURL.openStream();
Użyj poniższego kodu, aby uzyskać ścieżkę wtyczki:
this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
- 1. Jak zdobyć katalog główny CakePHP?
- 2. Jak sprawdzić ścieżkę zdalną to plik lub katalog?
- 3. Instalowanie środowiska Java 3D na platformie Eclipse
- 4. Zaawansowane wyszukiwanie środowiska Java Eclipse
- 5. Jak zaimportować istniejący katalog do Eclipse?
- 6. Zmiana zmiennej środowiska domowego w środowisku Eclipse
- 7. Jak powiązać rvm z ustawieniami środowiska Eclipse
- 8. Rozszerzenie dzikiej karty w konfiguracji środowiska Eclipse
- 9. Repozytorium Maven dla środowiska wykonawczego Eclipse BIRT
- 10. Skrypt sterujący .cmd/.bat, jak zdobyć katalog uruchomionego skryptu
- 11. Jak znaleźć bieżącą ścieżkę (katalog) bazy danych MS Access?
- 12. Jak zdobyć zlokalizowaną ścieżkę dla CNLabeledValue w swift3
- 13. Wykrywanie środowiska: node.js lub przeglądarka
- 14. Jak uzyskać bezwzględną ścieżkę do katalogu instalacyjnego Eclipse?
- 15. Eclipse - wyklucza katalog główny z repozytorium git?
- 16. Jak wyłączyć lub zmienić ścieżkę pliku ghostdriver.log?
- 17. Jak ukryć biblioteki referencyjne w perspektywie Java EE środowiska Eclipse?
- 18. Jak zaimportować źródła ramek odtwarzania do środowiska Eclipse?
- 19. Jak ręcznie zainstalować oprogramowanie/wtyczkę do środowiska Eclipse IDE?
- 20. Jak ukryć numer wersji z widoku Eksploratora środowiska Eclipse?
- 21. Jak dodać źródło "Prywatnych bibliotek Androida" do środowiska ADT Eclipse?
- 22. Jak zmienić konfigurację środowiska Eclipse na 64-bitową maszynę JVM
- 23. Czysty katalog roboczy Tomcata w środowisku Eclipse
- 24. Eclipse: Właściwości projektu nie pokazują ścieżkę zbudować
- 25. Jak określić ścieżkę do Cargo.toml
- 26. AppleScript: Jak sprawdzić, czy coś jest katalog lub plik
- 27. Jak uzyskać ścieżkę pliku .ipa
- 28. Sprawdź, czy istnieje plik lub katalog nadrzędny, podając możliwą pełną ścieżkę do pliku
- 29. Jak dodać drugi katalog źródłowy do projektu Eclipse
- 30. Jak edytować ścieżkę klas (środowisko wykonawcze) w środowisku Eclipse?
Dzięki za wyżej, ale mam wątpliwości Rozważam, że mam projekt wtyczki o nazwie com.abhishek.html.test, aw nim mam folder o nazwie html zawierający kilka plików html. Teraz chcę przeczytać te html w plug-in, a następnie, które podejście powinienem wykonać. Lokalnie działa, ale jak wtyczka wykryje folder o nazwie html? –
@ Abhishek: Nie jestem pewien co do "lokalnie działa". W przeciwieństwie do konfiguracji? Ponieważ twój program powinien być w stanie wykryć folder 'html' w wtyczce, pobierając pakiet i używając' FileLocator'. Powinien zwrócić wartość null (lub wyrzucić wyjątek, zapomniałem którego), jeśli 'html' nie istnieje w tej wtyczce. – VonC
To wpis w FAQ jest okropny. 3.[1,2] są stare - dlaczego nie mówić o najnowszych wydawnictwach? Zaleca użycie platformy Platform.resolve, ale Platform.resolve jest oznaczone jako "Przestarzałe, użyj zamiast tego FileLocator.resolve (URL)" I dlaczego na świecie jest często zadawane pytanie mówiące coś w stylu "preferowana metoda wydaje się być"? Po co kwalifikować się przy użyciu tak wymyślnego języka? –