2012-07-05 6 views
10

Tak szybki tło jest tworzę program Java, który wykorzystuje wiele różnych importuJak importować org.apache Java Zależności w/lub w/o Maven

import org.apache.hadoop.conf.*; 
    import org.apache.hadoop.fs.Path; 
    import org.apache.hadoop.io.*; 
    import org.apache.hadoop.mapreduce.*; 
    import org.apache.hadoop.util.*; 
    import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; 
    import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; 

wiem, że nie jest znalezienie Netbeans te pliki, ponieważ nie mam ich na moim komputerze. Ale czy istnieje sposób, aby Netbeans automatycznie łączył się z org.apache i pobierał te pliki? Czy muszę po prostu iść i pobrać je. Ktoś polecił używanie Mavena, ale nie jestem pewien, czy to jest właściwe rozwiązanie, czy jak to zrobić?

Dzięki

+5

Pobierz pliki JAR Hadoop i umieść je w katalogu projektu/lib. Możesz je pobrać tutaj: http://hadoop.apache.org/common/docs/r0.20.2/quickstart.html. Dlaczego, na Boga, zrobiłbyś tak prostą rzecz tak skomplikowaną? – duffymo

+1

50% tego pytania dotyczyło tego, jak to zrobić tym razem, , ale pozostałe 50% pytania dotyczyło sposobu, w jaki to zrobić "w prawidłowy" sposób. –

+0

Jak więc zrobić coś prostego "źle"? – duffymo

Odpowiedz

7

Jeśli nie używasz struktury Maven (patrz tutaj getting started with Maven), będziesz musiał pobrać wszystkie słoiki ręcznie.

Jeśli używasz tylko Hadoop (jak w twoim przykładzie), może to nie wydawać się dużo warte, ale podczas pracy z dużymi projektami łatwiej jest zadeklarować swoje zależności w pliku pom.xml. Jest o wiele łatwiejsze niż pobieranie X różnych słoików i możesz łatwo przejść do nowszej wersji biblioteki, zamiast konieczności usuwania i pobierania innego.

Zobaczyłem, że ktoś zapytał w komentarzu, dlaczego ludzie tak bardzo lubią Mavena. Cóż, szczerze mówiąc, osobiście uważam, że jest łatwy w użyciu i bardzo przydatny. Ponadto projekt Maven można łatwo importować w IntelliJ, Eclipse lub Netbeans, podczas gdy tworzenie np. Projektu IntelliJ może powodować trudności w importowaniu go do Eclipse lub NetBeans.

Aby rozpocząć korzystanie z Mavena z Netbeans, możesz przejść do: Nowy projekt, Kategorie: Projekty Maven: {Najlepsza opcja}. Następnie w plikach projektu otwórz plik pom.xml. Tutaj są dodawane zależności dla twojego projektu. Jeśli nie jesteś pewien, co wstawić, spróbuj wyszukać nazwę słoika + "maven" w Internecie. Wtyczka do Netbeans jest w stanie połączyć się z repozytorium maven i automatycznie uzupełnić większość pól.

Próbka z: http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.6

<project...> 
.... 
<dependencies> 
    <dependency> 
     <groupId>org.apache.hadoop</groupId> 
     <artifactId>hadoop-core</artifactId> 
     <version>1.0.3</version> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.6</version> 
    </dependency> 
</dependencies> 
... 
</project> 
+8

Przez chwilę zadawałem sobie pytanie, dlaczego utrzymujesz swoje zależności w pliku porn.xml – gobernador

1

Nie NetBeans użytkownika, ale jestem pewien, że nawet w NetBeans, masz wtyczki maven. "Mavenize" twój projekt, a kiedy wykonasz instalację mvn clean, otrzymasz te słoiki do lokalnego repozytorium maven.
W środowisku Eclipse używam wtyczki m2Eclipse i działa to bardzo dobrze.
To oczywiście zależy od tego, czy te słoiki można znaleźć w repozytoriach maven przez sieć, takich jak maven central repository.

+1

Nie rozumiem, dlaczego ludzie tak bardzo lubią Mavena. – duffymo

+2

Nie rozumiem, dlaczego ludzie tak bardzo nie lubią Mavena. :-) –

+0

Ludzie? Nie tylko ja. Niepotrzebna złożoność za niewystarczającą korzyść mnie zabija. Poza tym mandaty na strukturę katalogów, o ile wiem, nie mogą być zmieniane. – duffymo

2

Musisz je pobrać. Nazwa org.apache.hadoop jest nazwą pakietu, a my używamy tylko nazwy strony jako konwencji. See this tutorial on packages, aby uzyskać więcej informacji. Zasadniczo pakiet jest folderem na komputerze, często w katalogu Java\jre\lib\ext\.

3

Musisz samodzielnie pobrać pliki jar. O ile nie zaczniesz używać Mavena lub podobnego narzędzia do zarządzania zależnościami.

0

Mam ostateczne dowiedzieć się mój preferowany sposób, aby utworzyć nowy projekt Hadoop i import zależności za pomocą Maven.

Używanie NetBeans Tworzę nowy projekt Maven.

Następnie w plikach projektu otwieram plik pom.xml.

końcu dodać wewnątrz

<dependency> 
     <groupId>org.apache.hadoop</groupId> 
     <artifactId>hadoop-core</artifactId> 
     <version>0.20.2</version> 
    </dependency> 

Po zbudowaniu z zależnościami jestem teraz gotowy do kodu.

Powiązane problemy