Как импортировать зависимости org.apache Java с W/или без 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 автоматически соединялся с org.apache и извлекал эти файлы? Или мне просто нужно пойти и скачать их. Кто-то рекомендовал использовать Maven, но я не уверен, что это правильное решение или как это сделать?

Спасибо

Ответ 1

Если вы не используете структуру Maven (см. здесь начало работы с Maven), вам придется загружать все банки вручную.

Если использовать только Hadoop (как в вашем примере), это может показаться не такой большой сделкой, но при работе с большими проектами легче объявить свои зависимости в файле pom.xml. Это намного проще, чем загрузка X различных баннеров, и вы можете легко перейти к более новой версии библиотеки, вместо того, чтобы удалять и загружать другую.

Я увидел, что кто-то спросил в комментарии, почему люди любят Maven так много. Ну, честно говоря, я лично считаю его простым в использовании и очень полезным. Кроме того, проект Maven можно легко импортировать в IntelliJ, Eclipse или Netbeans, тогда как создание, например, проекта IntelliJ может вызвать трудности при импорте его в Eclipse или NetBeans.

Чтобы начать использовать Maven с Netbeans, вы можете перейти к: Новый проект, Категории: Maven Projects: {Best Option}. Затем в файлах проекта откройте pom.xml. Здесь добавляются зависимости для вашего проекта. Если вы не уверены, что вставить, попробуйте найти свое имя баннера + "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>

Ответ 2

Загрузите файл .jar здесь: http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/0.20.2

В Eclipse щелкните правой кнопкой мыши проект, выберите "Свойства", выполните поиск в текстовом поле "Библиотека", нажмите "Пути сборки", "Добавить внешний JAR" и выберите файл, который вы загрузили из указанной выше ссылки.

Ответ 3

Вам придется загружать jar файлы самостоятельно. Если вы не начнете использовать Maven или аналогичный инструмент управления зависимостями.

Ответ 4

Вы должны скачать их. Имя org.apache.hadoop - это имя пакета, и мы используем имя сайта как соглашение. Подробнее см. в этом руководстве по пакетам. По сути пакет представляет собой папку на вашем компьютере, часто в каталоге Java\jre\lib\ext\.

Ответ 5

Не пользователь netbeans, но я уверен, что даже в netbeans у вас есть плагин maven. "Mavenize" ваш проект, и когда вы будете выполнять mvn clean install, вы получите эти банки в локальный репозиторий maven.
С Eclipse я использую плагин m2Eclipse, и он отлично работает для меня.
Это, конечно, зависит от того, что эти банки можно найти в репозиториях maven через сеть, например центральный репозиторий maven.

Ответ 6

Я наконец понял свой предпочтительный способ создать новый проект Hadoop и импортировать зависимости, используя Maven.

Используя NetBeans, я создаю новый проект Maven.

Затем в файлах проекта я открываю pom.xml.

Наконец, я добавлю внутри

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

После построения с зависимостями теперь я готов к кодированию.