Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Maven自动下载程序所需的依赖项?_Java_Maven_Jar_Hbase - Fatal编程技术网

Java 如何使用Maven自动下载程序所需的依赖项?

Java 如何使用Maven自动下载程序所需的依赖项?,java,maven,jar,hbase,Java,Maven,Jar,Hbase,我不熟悉使用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.HTabl

我不熟悉使用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来处理这个问题

编辑:

我想使用Java将数据添加到hbase表中。Hbase在dev服务器中运行良好。我可以通过dev serv中的命令行在那里创建表。但是hbase/hadoop在桌面环境中并不存在


下载JAR会有帮助吗?还是我需要在本地安装hadoop和hbase?

如果我理解正确,您需要在Maven pom中配置一些。您可以在
依赖项
部分执行此操作,例如:

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

org.apache.hadoop
hadoop内核
0.20.2
假如
...

您需要确定每个所需Hadoop包的artifactId和版本,然后将它们添加到依赖项中。

如果我理解正确,您需要在Maven pom中配置一些。您可以在
依赖项
部分执行此操作,例如:

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

org.apache.hadoop
hadoop内核
0.20.2
假如
...

您需要确定每个所需Hadoop包的artifactId和版本,然后将它们添加到依赖项中。

从中,将依赖项的
范围设置为
提供的

从中,将依赖项的
范围设置为
提供的

是的,Maven的学习曲线近乎垂直

看起来你正在独自或与一个非常小的团队做一个非常小的内部工作。 在这种情况下,设置IDE(eclipse或NetBeans)可能就足够了,
手动解析依赖项(在项目的a/lib文件夹中下载jar),并手动编译和导出二进制文件(jar)

是的,Maven的学习曲线近乎垂直

看起来你正在独自或与一个非常小的团队做一个非常小的内部工作。 在这种情况下,设置IDE(eclipse或NetBeans)可能就足够了,
手动解析依赖项(在项目的a/lib文件夹中下载jar),并手动编译和导出二进制文件(jar)

hadoop核心、hbase和zookeeper是必需的hbase依赖项。此外,您应该尝试使用Cloudera,因为它们修复了ApacheJAR中的一些其他错误。看

此外,您不必在本地安装HBase。创建HBase配置时,只需将zookeeper quorom更改为指向zookeeper所在的服务器

Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", SERVER);
conf.set("hbase.zookeeper.property.clientPort", PORT);

hadoop core、hbase和zookeeper是必需的hbase依赖项。此外,您应该尝试使用Cloudera,因为它们修复了ApacheJAR中的一些其他错误。看

此外,您不必在本地安装HBase。创建HBase配置时,只需将zookeeper quorom更改为指向zookeeper所在的服务器

Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", SERVER);
conf.set("hbase.zookeeper.property.clientPort", PORT);

是的,我一个人在做一个小的内部工作。我想和Maven一起做。现在我将首先手动尝试。我想使用java将数据添加到hbase表中。Hbase在dev服务器中运行良好。我可以通过dev serv中的命令行在那里创建表。但是hbase/hadoop在桌面环境中并不存在。下载JAR会有帮助吗?还是我需要在本地安装hadoop和hbase?我不确定,但我开始怀疑你试图用大炮射杀蚊子。也许您需要一个在大型集群上运行的分布式高容量数据库,然后hadoop就适合您了,但我怀疑您只需要一个数据库?Derby是一种嵌入式关系数据库,与java捆绑在一起。如果你只打算使用一台机器,我认为hadoop是一种过火的技术。所以,问题是:你打算存储大量的数据吗?《疯狂》有点不准确,但可能比你想象的要多。即使对于64位机器上的Derby,1 TB也不应该是个问题。我明白了:这只是一个直接来自“Hadoop和MapReduce不是学习Java编程的地方”的建议。我建议你接受这个暗示:——)是的,我一个人在做一件小家务。我想和Maven一起做。现在我将首先手动尝试。我想使用java将数据添加到hbase表中。Hbase在dev服务器中运行良好。我可以通过dev serv中的命令行在那里创建表。但是hbase/hadoop在桌面环境中并不存在。下载JAR会有帮助吗?还是我需要在本地安装hadoop和hbase?我不确定,但我开始怀疑你试图用大炮射杀蚊子。也许您需要一个在大型集群上运行的分布式高容量数据库,然后hadoop就适合您了,但我怀疑您只需要一个数据库?Derby是一种嵌入式关系数据库,与java捆绑在一起。如果你只打算使用一台机器,我认为hadoop是一种过火的技术。所以,问题是:你打算存储大量的数据吗?《疯狂》有点不准确,但可能比你想象的要多。即使对于64位机器上的Derby,1 TB也不应该是个问题。我明白了:这只是一个直接来自“Hadoop和MapReduce不是学习Java编程的地方”的建议。我建议你接受这个暗示:-)就是这样。请参阅我的答案,了解所需的依赖项。这是一个。有关所需的依赖项,请参见我的答案。