Как импортировать org.зависимости Apache Java без или без Maven
Итак, быстрый фон - я создаю программу java, которая использует много разных импорта
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;
Я знаю, что Netbeans не находит эти файлы, потому что у меня их нет на моем компьютере. Но есть ли способ автоматического подключения Netbeans к организации.apache и получить эти файлы? Или мне просто нужно пойти и скачать их. Кто-то рекомендовал использовать Maven, но я не уверен, если это правильное решение или как это?
спасибо
7 ответов
Если вы не используете структуру Maven (см. здесь начало работы с Maven) вам придется загрузить все банки вручную.
Если вы используете только Hadoop (как в вашем примере), это может показаться не такой уж большой сделкой, но при работе с большими проектами проще объявить ваши зависимости в pom.XML-файл. Это намного проще, чем загрузка X разных банок, и вы можете легко перейти к более новой версии библиотеки, а не удалять и и скачать другой.
Я видел, что кто-то спросил в комментарии, почему люди так любят Maven. Ну, честно говоря, я лично нахожу его простым в использовании и очень полезным. Кроме того, проект Maven можно легко импортировать в IntelliJ, Eclipse или Netbeans, тогда как создание, например, проекта IntelliJ может вызвать трудности при импорте его в Eclipse или NetBeans.
чтобы начать использовать Maven с Netbeans, вы можете перейти к: Новый проект, категории: Maven проекты: {Best Опцион.} Затем в файлах проекта откройте pom.XML. Здесь добавляются зависимости для вашего проекта. Если вы не знаете, что вставить, попробуйте найти свое имя jar + "maven" в интернете. Плагин для Netbeans способен подключаться к репозиторию maven и автозаполнять большинство полей.
пример из: 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>
скачать .файл jar здесь:http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/0.20.2
в Eclipse щелкните правой кнопкой мыши на своем проекте, выберите Свойства, найдите в текстовом поле библиотеку, нажмите "пути сборки", нажмите "Добавить внешнюю банку" и выберите файл, загруженный по ссылке выше.
вам придется загрузить JAR-файлы самостоятельно. Если вы не начнете использовать Maven или аналогичный инструмент управления зависимостями.
вы должны скачать их. Имя org.apache.hadoop
- Это имя пакета, и мы используем только имя сайта в качестве соглашения. см. этот учебник по пакетам для получения дополнительной информации. По сути, пакет-это папка на вашем компьютере, часто в
Не пользователь netbeans, но я уверен, что даже в netbeans у вас есть плагин maven.
"Mavenize" ваш проект, и когда вы выполните mvn clean install, вы получите эти банки в локальный репозиторий maven.
С Eclipse я использую плагин m2Eclipse, и он работает очень хорошо для меня.
Это, конечно, зависит от того, что эти банки можно найти в репозиториях maven через сеть, например центральный репозиторий maven.
см. учебник http://www.tutorialspoint.com/hadoop/hadoop_mapreduce.htm
в нем упоминается: -
скачать Hadoop-core-1.2.1.jar, который используется для компиляции и выполнения программы MapReduce. Перейдите по следующей ссылке http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/1.2.1 чтобы загрузить банку.
Я окончательно выяснил свой предпочтительный способ создания нового проекта Hadoop и импорта зависимостей с помощью Maven.
используя NetBeans, я создаю новый проект Maven.
затем в разделе "файлы проекта" Я открываю pom.XML.
Я, наконец, добавляю внутри
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>0.20.2</version>
</dependency>
после построения с зависимостями я теперь готов к кодированию.