Как я могу использовать Maven для автоматической загрузки любых необходимых зависимостей моей программы? - PullRequest
0 голосов
/ 29 августа 2011

Я новичок в использовании Maven.

У меня есть файлы Java, которые имеют зависимости. Как например:

import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;

На сервере разработки нет компилятора Java. Я планирую скомпилировать файлы Java на рабочем столе и упаковать классы в файлы JAR, а затем запустить программу на сервере разработки.

На сервере разработки есть все необходимые файлы, рабочего стола еще нет. Как мы можем использовать Maven для решения этой проблемы при компиляции на рабочем столе?

EDIT:

Я хочу добавить данные в таблицы hbase, используя Java. Hbase отлично работает на сервере разработки. Я могу создавать таблицы через командную строку в dev serv. Но hbase / hadoop отсутствует в среде рабочего стола.

Так поможет ли загрузка jar или мне нужно настроить hadoop и установить hbase локально?

Ответы [ 4 ]

3 голосов
/ 29 августа 2011

Если я правильно понимаю, вам нужно настроить некоторые зависимости только во время компиляции в вашем Maven pom.Вы можете сделать это в разделе dependencies, например:

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

Вам необходимо определить artifactId и версию для каждого из необходимых пакетов Hadoop, а затем добавить их в зависимости.

2 голосов
/ 29 августа 2011

Да, Maven имеет почти вертикальную кривую обучения.

Похоже, что вы выполняете очень маленькую домашнюю работу самостоятельно или с очень маленькой командой. В этом случае, вероятно, будет достаточно, если вы настроите IDE (eclipse или NetBeans), разрешение зависимостей вручную (загрузка файлов jar в папку / lib в проекте), а также компиляция и экспорт двоичного файла (jar) вручную.

1 голос
/ 30 августа 2011

hadoop-core, hbase и zookeeper - обязательные зависимости HBase. Кроме того, вы должны попробовать использовать Cloudera, поскольку они исправляют некоторые дополнительные ошибки, которые есть в jar-файлах Apache. Смотрите здесь .

Кроме того, вам не нужно устанавливать HBase локально. Когда вы создаете конфигурацию HBase, просто измените кворум Zookeeper, чтобы он указывал на сервер, на котором находится Zookeeper.

Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", SERVER);
conf.set("hbase.zookeeper.property.clientPort", PORT);
0 голосов
/ 29 августа 2011

На maven сайте установите scope в provided для зависимости.

...