2012-07-05 18 views
10

Así que el fondo rápida es que estoy creando un programa Java, que utiliza muchas de las importaciones diferentesCómo importar org.apache Java dependencias w/o 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; 

Sé que no es encontrar Netbeans estos archivos porque no los tengo en mi computadora. Pero, ¿hay alguna forma de que Netbeans se conecte automáticamente con org.apache y recupere estos archivos? O simplemente tengo que ir y descargarlos. Alguien recomendó usar Maven, pero no estoy seguro si esta es la solución correcta o cómo hacerlo.

Gracias

+5

Descargue los JAR de Hadoop y colóquelos en el directorio/lib de su proyecto. Puede obtenerlos aquí: http://hadoop.apache.org/common/docs/r0.20.2/quickstart.html. ¿Por qué haría tan simple algo tan complicado? – duffymo

+1

50% de esta pregunta fue sobre cómo hacerlo esta vez, pero el otro 50% de la pregunta fue cómo hacerlo de la manera "correcta". –

+0

Entonces, ¿cómo hacer algo simple "incorrecto"? – duffymo

Respuesta

7

A menos que utilice una estructura Maven (consulte aquí getting started with Maven), tendrá que descargar todas las jarras manualmente.

Si utiliza solo Hadoop (como en el ejemplo), puede que no parezca gran cosa, pero cuando se trabaja con grandes proyectos, es más fácil declarar sus dependencias en un archivo pom.xml. Es mucho más fácil que descargar X diferentes jarras, y puede pasar fácilmente a una versión más nueva de una biblioteca, en lugar de tener que eliminar y descargar otra.

Vi que alguien preguntó en un comentario por qué a la gente le gusta mucho Maven. Bueno, para ser sincero, personalmente me resulta fácil de usar y muy útil. Además, un proyecto Maven se puede importar fácilmente en IntelliJ, Eclipse o Netbeans, mientras que crear, por ejemplo, un proyecto IntelliJ puede causar dificultades al importarlo en Eclipse o NetBeans.

Para comenzar a usar Maven con Netbeans, puede ir a: Nuevo proyecto, Categorías: Proyectos de Maven: {Mejor opción}. Luego, en los archivos del proyecto, abra pom.xml. Aquí es donde se agregan las dependencias para su proyecto. Si no está seguro de qué insertar, intente buscar el nombre de su jar + "maven" en Internet. El complemento para Netbeans puede conectarse al repositorio de maven y completar automáticamente la mayoría de los campos.

Muestra de: 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

Por un momento me pregunté por qué guardabas tus dependencias en un archivo porno.xml – gobernador

1
No

un usuario NetBeans, pero estoy seguro de que, incluso en NetBeans, tiene un plugin de Maven. "Mavenize" su proyecto, y cuando realice la instalación limpia de mvn, obtendrá estas jarras en el repositorio local de maven.
Con Eclipse uso el plugin m2Eclipse y funciona muy bien para mí.
Esto, por supuesto, depende de que estos frascos se pueden encontrar en los repositorios de maven en la red, como maven central repository.

+1

No entiendo por qué a la gente le gusta mucho Maven. – duffymo

+2

No entiendo por qué a la gente le desagrada tanto Maven. :-) –

+0

Personas? No sólo yo. Es la complejidad innecesaria por un beneficio insuficiente lo que me mata. Además de los mandatos en la estructura de directorios que, hasta donde yo sé, no se pueden modificar. – duffymo

2

Debe descargarlos. El nombre org.apache.hadoop es un nombre de paquete, y solo usamos el nombre del sitio como una convención. See this tutorial on packages para más información. Básicamente, un paquete es una carpeta en su computadora, a menudo en el directorio Java\jre\lib\ext\.

3

Deberá descargar los archivos jar por su cuenta. A menos que comiences a usar Maven o una herramienta similar de administración de dependencias.

0

He resuelto por última vez mi forma preferida de crear un nuevo proyecto de Hadoop e importar las dependencias usando Maven.

Usando NetBeans creo un nuevo proyecto Maven.

Luego, bajo los archivos del proyecto, abro el pom.xml.

finalmente añadir dentro de

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

Después de construir con dependencias Ahora estoy listo para código.

Cuestiones relacionadas