Pracuję nad wtyczką do NetBeans IDE 8.1 i muszę przechowywać trwałe preferencje do pliku na dysku, czy istnieje standardowa lokalizacja w NetBeans do przechowywania plików konfiguracyjnych dla wtyczek? A jeśli istnieje takie miejsce, to jaki jest najłatwiejszy sposób jego zdefiniowania (jako że NetBeans mógłby być zainstalowany w dowolnym miejscu, szczególnie w zależności od systemu operacyjnego)? Czy istnieje specjalna metoda lub coś, co pozwala łatwo określić lokalizację?Czy NetBeans ma standardowy obszar dla plików konfiguracyjnych wtyczki?
Odpowiedz
NetBeans API definiuje Koncepcja SystemFileSystem, która jest w zasadzie podfolderem katalogu użytkownika użytkownika. Nie należy bezpośrednio umieszczać tam plików.
Netbeans udostępnia mechanizm wdrażania konfiguracji oparty na adnotacjach i plikach. W przypadku podejścia opartego na plikach (co cię interesuje), powinieneś spakować plik konfiguracyjny jako plik XML, znany jako layer file, a następnie zdefiniować ten plik w manifeście twojego modułu. W ten sposób system plików System utworzy podfolder w folderze konfiguracyjnym nazwanym dla twojego modułu, zawierającym wszystko, co zdefiniujesz (NB definiuje dość solidną i rozbudowaną strukturę zarządzania konfiguracją dla modułów).
Wyciąg z dokumentacji:
- W swojej JAR, dostarczają plik warstwy - na przykład com/foo/mymodule/resources/layer.xml
- W okaż modułu zawierać następującą linię gdzieś w górnej części:
OpenIDE-Module-Layer: com/foo/mymodule/resources/layer.xml
Konkluzja: Bundle swój config pliki wewnątrz Twój moduł jar. API zajmie się resztą
Pokrewne przeczytać:
Wszystko, co pojedynczy użytkownik dodaje, powinno znajdować się w katalogu osobistym użytkownika (~/on * nix i c: \ users \ nazwa użytkownika w systemie Windows), a następnie w podkatalogu o odpowiedniej nazwie. Netbeans robi to (podobnie jak każdy inny tylko o aplikacji, które mogą być konfigurowane przez użytkownika końcowego) - każdy użytkownik Linuksa będzie go zobaczyć w ~/.netbeans/VersionNumber
Wyjazd http://wiki.netbeans.org/UserdirAndCachedirFoldersInSystemSpecificPaths
widzę, że tam jest 'c folder onfig', więc czy powinienem po prostu stworzyć własny plik i folder, czy jest tam coś specjalnego, gdzie mam to zrobić? Czy nie ma możliwości określenia położenia bez konieczności podawania całej ścieżki? Czy NetBeans nie jest w jakiś sposób znany i ma możliwość poinformowania Cię, gdzie jest przechowywany jego folder konfiguracji?Mogę sobie wyobrazić, że to wie, więc jeśli mają gdzieś, że oczekują od ciebie przechowywania plików konfiguracyjnych, to oczekiwałbym, że pozwolą, aby twój kod jakoś go zapytał. –
Nigdy nie napisałem wtyczki do netbeans, ale dokumentacja programisty wspomina o tym, na co należy zwrócić uwagę na tej stronie http://wiki.netbeans.org/DevFaqUserDir – ivanivan
Przepraszam, jak dokładnie zdefiniowałem to w pliku manifestu? –
Zobacz moją aktualizację @ParanoidPanda – kolossus
Dobra, dziękuję! –