Java 如何使用Maven自动下载程序所需的依赖项?
我不熟悉使用Maven 我有具有依赖关系的Java文件。 例如: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
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编程的地方”的建议。我建议你接受这个暗示:-)就是这样。请参阅我的答案,了解所需的依赖项。这是一个。有关所需的依赖项,请参见我的答案。