用maven生成HBase官方指南文档

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 我一直有一份HBase官方指南,但是我不知道作者是如何编辑这份指南的资源(通过maven生成的xml、html文件)。作者可以灵活调整章节,而我只能遵守按照章节编号规则。

说在前面的话:

  1. 因为这是翻译,基于水平有限,可能对原文表达不够清楚。
  2. 在Linux调用的命令、打印等内容没有翻译,直接使用原文内容。
  3. 原文地址找不到了,只能对原作者zhouhh兄说声抱歉。

我一直有一份HBase官方指南,但是我不知道作者是如何编辑这份指南的资源(通过maven生成的xml、html文件)。作者可以灵活调整章节,而我只能遵守按照章节编号规则。

对于这个问题,我向其中一个作者Stack请教,他告诉我:

这份指南是使用docbook进行编写的。我们使用docbkx-tools(它的一个maven插件),将内容转为html。你可以通过指定maven站点(mvn site),或者直接通过调用命令 “mvn -Donepage docbkx:generate-html” 生成这份指南文件(因为docbkx需要包含hbase-default.xml文件,所以可能还需要先调用站点获取)。我们进行两次这个过程,一次生成多页指南文件,一次生成单页指南文件(单页指南文件更容易找到)。

我通过使用maven生成book.html文件

[zhouhh@Hadoop48 hbsrc]$ svn co http://svn.apache.org/repos/asf/hbase/trunk
[zhouhh@Hadoop48 src]$ cd docbkx/
[zhouhh@Hadoop48 docbkx]$ ls
book.xml community.xml customization.xsl external_apis.xml ops_mgt.xml preface.xml shell.xml upgrading.xml
case_studies.xml configuration.xml developer.xml getting_started.xml performance.xml security.xml troubleshooting.xml zookeeper.xml
[zhouhh@Hadoop48 trunk]$ mvn docbkx:generate-html

报错了:

Recoverable error
org.xml.sax.SAXParseException; systemId: file:///home/zhouhh/hbsrc/trunk/src/docbkx/configuration.xml; lineNumber: 702; columnNumber: 52; Include operation failed, reverting to fallback. Resource error reading file as XML (href=’../../target/site/hbase-default.xml’). Reason: /home/zhouhh/hbsrc/trunk/target/site/hbase-default.xml (No such file or directory)
Error on line 702 column 52 of file:///home/zhouhh/hbsrc/trunk/src/docbkx/configuration.xml:
Error reported by XML parser: An ‘include’ failed, and no ‘fallback’ element was found.
[INFO] Reactor Summary:
[INFO]
[INFO] HBase ……………………………………… FAILURE [22.670s]
[INFO] HBase – Common ……………………………… SKIPPED
[INFO] HBase – Protocol ……………………………. SKIPPED
[INFO] HBase – Client ……………………………… SKIPPED
[INFO] HBase – Hadoop Compatibility …………………. SKIPPED
[INFO] HBase – Hadoop One Compatibility ……………… SKIPPED
[INFO] HBase – Server ……………………………… SKIPPED
[INFO] HBase – Hadoop Two Compatibility ……………… SKIPPED
[INFO] HBase – Integration Tests ……………………. SKIPPED
[INFO] HBase – Examples ……………………………. SKIPPED

我把hbase-default.xml文件拷贝到指定目录中:

[zhouhh@Hadoop48 target]$ pwd
/home/zhouhh/hbsrc/trunk/target
[zhouhh@Hadoop48 target]$ ls
docbkx
[zhouhh@Hadoop48 target]$ mkdir site
[zhouhh@Hadoop48 target]$ cd site/
[zhouhh@Hadoop48 site]$ cp ../../hbase-server/src/main/resources/hbase-default.xml .

运行正常了:

[zhouhh@Hadoop48 trunk]$ mvn docbkx:generate-html
[INFO] HBase ……………………………………… SUCCESS [13.776s]
[INFO] HBase – Common ……………………………… SUCCESS [0.006s]
[INFO] HBase – Protocol ……………………………. SUCCESS [0.004s]
[INFO] HBase – Client ……………………………… SUCCESS [0.005s]
[INFO] HBase – Hadoop Compatibility …………………. SUCCESS [0.003s]
[INFO] HBase – Hadoop One Compatibility ……………… SUCCESS [0.007s]
[INFO] HBase – Server ……………………………… SUCCESS [0.012s]
[INFO] HBase – Hadoop Two Compatibility ……………… SUCCESS [0.005s]
[INFO] HBase – Integration Tests ……………………. SUCCESS [0.005s]
[INFO] HBase – Examples ……………………………. SUCCESS [0.005s]
[INFO] ————————————————————————
[INFO] BUILD SUCCESS

下面是生成的文件及路径:

[zhouhh@Hadoop48 docbkx]$ ls
book.html configuration.html getting_started.html preface.html troubleshooting.html
case_studies.html developer.html ops_mgt.html security.html upgrading.html
community.html external_apis.html performance.html shell.html zookeeper.html
[zhouhh@Hadoop48 docbkx]$ pwd
/home/zhouhh/hbsrc/trunk/target/docbkx

以下是原文内容,暂存一下,如果哪一天我的英语阅读能力提升了,还能回来鄙视一下自己:

I’m maintain a Chinese copy of HBase official guide, but I don’t know how the author edit the source of the book. The source is xml, and html is generated by maven. So the author can adjust the chapters and sections easily, while I have to follow it’s chapter number hardly.

about this issue, one of the author Stack wrote for me:

The manual is marked up using docbook http://www.docbook.org/. We then usehttp://code.google.com/p/docbkx-tools/ maven plugin to transform the markupto html. This plugin is run when you specify the site goal as in ‘mvnsite’ or you can call the plugin explicitly to just generate the manual bydoing ‘mvn -Donepage docbkx:generate-html’ (It looks like you have to callsite first because docbkx wants to include a transformedhbase-default.xml…). We do the transform twice, once to generate themultipage manual and then again for the single page manual (the single pageversion is easier to search).

I just generated the book.html using maven

[zhouhh@Hadoop48 hbsrc]$ svn co http://svn.apache.org/repos/asf/hbase/trunk
[zhouhh@Hadoop48 src]$ cd docbkx/
[zhouhh@Hadoop48 docbkx]$ ls
book.xml community.xml customization.xsl external_apis.xml ops_mgt.xml preface.xml shell.xml upgrading.xml
case_studies.xml configuration.xml developer.xml getting_started.xml performance.xml security.xml troubleshooting.xml zookeeper.xml
[zhouhh@Hadoop48 trunk]$ mvn docbkx:generate-html

it first report an error:

Recoverable error
org.xml.sax.SAXParseException; systemId: file:///home/zhouhh/hbsrc/trunk/src/docbkx/configuration.xml; lineNumber: 702; columnNumber: 52; Include operation failed, reverting to fallback. Resource error reading file as XML (href=’../../target/site/hbase-default.xml’). Reason: /home/zhouhh/hbsrc/trunk/target/site/hbase-default.xml (No such file or directory)
Error on line 702 column 52 of file:///home/zhouhh/hbsrc/trunk/src/docbkx/configuration.xml:
Error reported by XML parser: An ‘include’ failed, and no ‘fallback’ element was found.
[INFO] Reactor Summary:
[INFO]
[INFO] HBase ……………………………………… FAILURE [22.670s]
[INFO] HBase – Common ……………………………… SKIPPED
[INFO] HBase – Protocol ……………………………. SKIPPED
[INFO] HBase – Client ……………………………… SKIPPED
[INFO] HBase – Hadoop Compatibility …………………. SKIPPED
[INFO] HBase – Hadoop One Compatibility ……………… SKIPPED
[INFO] HBase – Server ……………………………… SKIPPED
[INFO] HBase – Hadoop Two Compatibility ……………… SKIPPED
[INFO] HBase – Integration Tests ……………………. SKIPPED
[INFO] HBase – Examples ……………………………. SKIPPED

I copy the hbase-default.xml to the target directory:

[zhouhh@Hadoop48 target]$ pwd
/home/zhouhh/hbsrc/trunk/target
[zhouhh@Hadoop48 target]$ ls
docbkx
[zhouhh@Hadoop48 target]$ mkdir site
[zhouhh@Hadoop48 target]$ cd site/
[zhouhh@Hadoop48 site]$ cp ../../hbase-server/src/main/resources/hbase-default.xml .

then, it runs ok:

[zhouhh@Hadoop48 trunk]$ mvn docbkx:generate-html
[INFO] HBase ……………………………………… SUCCESS [13.776s]
[INFO] HBase – Common ……………………………… SUCCESS [0.006s]
[INFO] HBase – Protocol ……………………………. SUCCESS [0.004s]
[INFO] HBase – Client ……………………………… SUCCESS [0.005s]
[INFO] HBase – Hadoop Compatibility …………………. SUCCESS [0.003s]
[INFO] HBase – Hadoop One Compatibility ……………… SUCCESS [0.007s]
[INFO] HBase – Server ……………………………… SUCCESS [0.012s]
[INFO] HBase – Hadoop Two Compatibility ……………… SUCCESS [0.005s]
[INFO] HBase – Integration Tests ……………………. SUCCESS [0.005s]
[INFO] HBase – Examples ……………………………. SUCCESS [0.005s]
[INFO] ————————————————————————
[INFO] BUILD SUCCESS

below is what generated:

[zhouhh@Hadoop48 docbkx]$ ls
book.html configuration.html getting_started.html preface.html troubleshooting.html
case_studies.html developer.html ops_mgt.html security.html upgrading.html
community.html external_apis.html performance.html shell.html zookeeper.html
[zhouhh@Hadoop48 docbkx]$ pwd
/home/zhouhh/hbsrc/trunk/target/docbkx


相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
6月前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`创建Maven Java项目。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`配置,版本分别至少为3.3和2.7,以避免`NoClassDefFoundError`。
|
5月前
|
Java Apache Maven
Maven 项目文档
本教程聚焦于创建Maven项目文档。在C:/MVN目录下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`生成java项目。
|
5月前
|
Java Apache Maven
Maven 项目文档
在`C:/MVN/consumerBanking`中创建Maven Java项目,使用命令`mvn archetype:generate`生成基础结构。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`,版本至少为3.3和2.7,以避免`NoClassDefFoundError`。运行`mvn site`生成文档。
|
5月前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下,使用`mvn archetype:generate`命令创建`consumerBanking`项目,设置相关参数。为解决`mvn site`运行时的NoClassDefFoundError,需在`pom.xml`中添加或更新maven-site-plugin和maven-project-info-reports-plugin至版本3.3和2.7以上。
|
5月前
|
Java Apache Maven
Maven 项目文档
使用Maven创建`consumerBanking`项目,执行`mvn archetype:generate`命令初始化。确保`pom.xml`包含`maven-site-plugin`至少版本3.3和`maven-project-info-reports-plugin`至少版本2.7,以避免NoClassDefFoundError。升级插件解决文档构建问题。
|
1月前
|
Java Maven
使用javadoc生成maven项目的文档
本文介绍了如何在Maven项目中使用maven-javadoc-plugin插件来生成项目的JavaDoc文档,并展示了配置插件、编写代码、运行Maven命令以及查看生成文档的完整步骤。
52 0
使用javadoc生成maven项目的文档
|
5月前
|
Java Apache Maven
Maven 项目文档
在`C:/MVN/consumerBanking`,使用`mvn archetype:generate`命令创建Java项目后,确保更新`pom.xml`,添加`maven-site-plugin`和`maven-project-info-reports-plugin`,至少版本3.3和2.7。运行`mvn site`时遇到`NoClassDefFoundError`,需升级`maven-site-plugin`至3.3以上以解决。
|
6月前
|
Java Apache Maven
Maven 项目文档
在 `C:/MVN` 目录下创建 Maven 项目 `consumerBanking` 使用命令:`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`。为解决 `mvn site` 命令执行时的 `NoClassDefFoundError`
|
4月前
|
Java Apache Maven
Maven 项目文档
确保 `pom.xml` 包含 `maven-site-plugin` 和 `maven-project-info-reports-plugin`,至少版本为 3.3 和 2.7,以避免 `NoClassDefFoundError`。升级插件解决可能的版本问题。
|
5月前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下,使用`mvn archetype:generate`命令创建`consumerBanking`项目,设置相关参数。确保`pom.xml`包含最新`maven-site-plugin`(至少3.3版本)和`maven-project-info-reports-plugin`(至少2.7版本),以避免`NoClassDefFoundError`。若未配置,执行`mvn site`会出错。

推荐镜像

更多
下一篇
无影云桌面