Wspólny pakiet dla wielu projektów (Netbeans)

0

Witam, krótko i na temat: w Eclipsie można w sekcji "import" zaimportować dowolną klasę z pakietu całkiem innego projektu, np. import nazwa_pakietu_z_innego_projektu.nazwa_klasy...Pytanie jak to zrobić w netBeansie, bo w tej formie ten IDE nie łapie tego...Pozdrawiam

0

Najprościej zapakować sobie potrzebne przez kilka projektów pakiety do własnej biblioteki i udostępnić ją w NB. Jeżeli jakiś Twój projekt z potrzebnymi w wielu miejscach klasami jest ustawiony, aby wynik pakować do JARa, to jest on zwykle umieszczany w podkatalogu dist katalogu projektu (a jeżeli nie, to wynikowe klasy idą do podkatalogu build). Wystarczy więc w tools/libraries stworzyć nową bibliotekę przez dodanie jar z dist/ jakiegoś projektu (albo dodanie katalogu z jego podkatalogu build/) i już wszystkie inne projekty mogą korzystać z tak stworzonej biblioteki za pomocą instrukcji import. Ma to tę zaletę, że możesz co jakiś czas poprawiać i ulepszać tę bibliotekę przez wprowadzanie zmian w projekcie biblioteki. A po każdej kompilacji lub utworzeniu JARa zmiany te będą propagować na wszystkie inne projekty.
Dodatkowo we właściwościach biblioteki możesz określić położenie źródeł i wygenerowanego javadoc - najlepiej na źródła i javadoc projektu biblioteki.

0

Dzięki Olamagato! Dość wyczerpująca odpowiedź, a takie odpowiedzi lubimy...Dzięki

0

Ja mam dodaną Library Classpath w Netbeansie o takiej ścieżce do jara w którym mam potrzebne klasy z których chcę korzystać w innym projekcie C:\Users\Dj\Documents\NetBeansProjects\czasytest\dist\czasytest.jar
tłumaczenie: http://www.angielskie.republika.pl
Możesz napisać jak ma wyglądać to polecenie importu?Bo jak wpisuje import czasytest.*; to mi tego nie łyka.

0
djdanto napisał(a)

Ja mam dodaną Library Classpath w Netbeansie o takiej ścieżce do jara w którym mam potrzebne klasy z których chcę korzystać w innym projekcie C:\Users\Dj\Documents\NetBeansProjects\czasytest\dist\czasytest.jar

Możesz napisać jak ma wyglądać to polecenie importu?Bo jak wpisuje import czasytest.*; to mi tego nie łyka.

Hej! Polecenie importu wygląda następująco: import nazwa_pakietu_w_dowolnym_projekcie.Nazwa_klasy

Dodatkowo trzeba pamiętać o dodaniu jara do Libraries swojego projektu...ja bynajmniej tak zrobiłem i mi wszystko działa

0

Chciałem przetestować jak to działa.Niestety męczę to od dobrych 3 godzin z różnymi projektami i klasami i prawdopodobnie robię coś źle przy tworzeniu lub dodawaniu tej utworzonej biblioteki.
Opisze po kolei co robię.
1.Tworze nowy projekt o nazwie TestBiblioteki w którym mam pakiet testbiblioteki oraz plik TestBiblioteki.java
2.Tworze nowy projekt o nazwie Danto w którym mam pakiet danto oraz plik Print.java
3.Robię Clean and Build na projekcie Danto po czym dostaję w folderze C:\Users\Damian\Documents\NetBeansProjects\Danto\dist plik Danto.jar
4.Narzędzia -> Libraries ->New Library którą nazywam Danto.
5.W zakładce ClassPath -> Add JAR/Folder i lecę katalogami C:\Users\Damian\Documents\NetBeansProjects\Danto\dist zaznaczam ten plik Danto.jar
6.W zakładce Sources powtarzam to samo w kroku 5.
7.OK
8.Wskakuje na projekt o nazwie TestBiblioteki i daje Set as Main Projekt.
9.W pliku TestBiblioteki.java robię następujący import - import static danto.Print.*;
I właśnie w linijce importu podkreśla mi słowo danto i pisze package danto does not exist.
Dodam jeszcze tylko że gdy w projekcie TestBiblioteki tworze pakiet o nazwie danto i wrzucam do niego plik Print.java to wszystko działa tak jak powinno.

0

Nie wiem czy to ma znaczenie, ale ja oprócz Classpath, dodaję tę samą ścieżkę jeszcze w zakładce Sources

0

No to właśnie tak zrobiłem że dodałem i do Classpatha i do Sources tego jara.No i nie dziala.

0
djdanto napisał(a)

No to właśnie tak zrobiłem że dodałem i do Classpatha i do Sources tego jara.No i nie dziala.

Hmm, ja tak zrobiłem i śmiga...A w swoim projekcie w folderze Libraries dodałeś ta stworzana przez Ciebie biblioteke?

0

No właśnie dodałem tą nowo stworzoną bibliotekę do folderu Libraries [green] Teraz działa [!!!]

1 użytkowników online, w tym zalogowanych: 0, gości: 1