Ubuntu 22.04 安装 Apache Any23 指南
在 Ubuntu 22.04 LTS 服务器从零安装 Apache Any23 2.7 的完整指南,涵盖 OpenJDK 11 安装、官方 CLI 发行包下载与 sha512 校验、解压部署、环境变量配置与抽取验证,全部命令真实回显。
Ubuntu 22.04 安装 Apache Any23 指南
目标:在 Ubuntu 22.04 LTS 服务器上从零完成 Apache Any23 2.7(最终正式发布版)CLI 的安装部署,实现 HTML 页面到 RDF 三元组的标准抽取能力,并提供可复用的环境变量配置模板与安装验证方法。
一、环境信息
| 项目 | 值 |
|---|---|
| 操作系统 | Ubuntu 22.04.5 LTS(Jammy) |
| 内核 | 6.8.x x86_64 |
| Any23 版本 | Apache Any23 2.7(2022-02-21,最终正式发布版) |
| Java 版本 | OpenJDK 11.0.32.1(apt 仓库 openjdk-11-jdk) |
| 发行包 | apache-any23-cli-2.7.tar.gz(约 54MB) |
| 安装目录 | /opt/any23-2.7 |
| 配置脚本 | /etc/profile.d/any23.sh |
| 执行账号 | root |
二、前置条件
- 服务器可访问外网,需从 Apache 官方归档站 downloads.apache.org 下载发行包。
- 已配置可用的 apt 软件源(实测 update 正常)。
- 拥有 root 权限,本文全部命令以 root 执行。
- 磁盘剩余空间不低于 500MB(发行包约 54MB,解压后约 120MB)。
- Any23 为纯 CLI 与库组件,无守护进程、无监听端口,安装过程不涉及服务托管。
三、版本与生命周期说明
- Apache Any23 于 2023 年 7 月随 Apache Attic 流程归档,官方 GitHub 仓库已标记为只读,项目停止维护(EOL)。
- 本文实测版本为 2.7,是 Apache 官方正式发布的最终版本(2022-02-21)。2.8 仅停留在 SNAPSHOT 阶段,从未发布正式版本,archive.apache.org 与 Maven Central 均无 2.8 制品。
- 发行包可从官方归档站下载:https://downloads.apache.org/any23/2.7/apache-any23-cli-2.7.tar.gz(该目录随 Attic 归档长期保留)。
💡 技术拓展:Any23 已停止维护,若项目仍需要"从 HTML/文档抽取结构化元数据"的能力,社区建议评估 Apache Tika(tika.apache.org),其提供更完整的文档解析、元数据提取与 REST 服务,维护活跃;若仅需 JSON-LD 抽取,也可考虑直接使用各语言的 JSON-LD 处理器。
四、部署步骤
4.1 更新软件索引
安装前刷新 apt 软件索引:
apt-get update
验证结果:软件索引更新完成,输出不含报错即可进入下一步。
4.2 安装 OpenJDK 11 与基础工具
Any23 2.7 运行要求 Java 8 及以上,实测采用 Ubuntu 22.04 仓库的 OpenJDK 11:
apt-get install -y openjdk-11-jdk curl
Setting up gsettings-desktop-schemas (42.0-1ubuntu1)
Setting up openjdk-11-jre:amd64 (11.0.32.1+1-1ubuntu1~22.04)
Setting up libatk-wrapper-java-jni:amd64 (0.38.0-5build1)
Setting up openjdk-11-jdk:amd64 (11.0.32.1+1-1ubuntu1~22.04)
update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/jconsole to provide /usr/bin/jconsole (jconsole) in auto mode
Processing triggers for libglib2.0-0:amd64 (2.72.4-0ubuntu2.10)
Processing triggers for libc-bin (2.35-0ubuntu3.15)
Setting up at-spi2-core (2.44.0-3)
验证 Java 版本与安装路径:
java -version
openjdk version "11.0.32.1" 2026-08-18
OpenJDK Runtime Environment (build 11.0.32.1+1-post-1ubuntu1-22.04-Ubuntu)
OpenJDK 64-Bit Server VM (build 11.0.32.1+1-post-1ubuntu1-22.04-Ubuntu, mixed mode, sharing)
记录 JAVA_HOME 实际路径(后续环境变量配置需要):
readlink -f $(command -v java)
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
验证结果:OpenJDK 11.0.32.1 安装完成,JAVA_HOME 对应目录为 /usr/lib/jvm/java-11-openjdk-amd64。
4.3 下载官方发行包
创建软件目录并下载 Any23 2.7 CLI 发行包:
mkdir -p /opt/software && cd /opt/software
curl -fsSL -o apache-any23-cli-2.7.tar.gz https://downloads.apache.org/any23/2.7/apache-any23-cli-2.7.tar.gz
校验 sha512(官方同目录提供 apache-any23-cli-2.7.tar.gz.sha512):
sha512sum apache-any23-cli-2.7.tar.gz
3b444bc828415fc75e39f5a4d80aef10c2eba85437a540745c2b8914f8c97d1c8ce380d27fbe81e36c65113e49799c71cfdd152021c85c6f69f47b0ce83bae31 apache-any23-cli-2.7.tar.gz
查看文件大小确认下载完整:
ls -l apache-any23-cli-2.7.tar.gz
-rw-r--r-- 1 root root 56624225 Mar 3 2022 apache-any23-cli-2.7.tar.gz
验证结果:发行包 56624225 字节(约 54MB)下载完整,sha512 与官方值一致。
4.4 解压部署
将发行包解压到 /opt/any23-2.7:
mkdir -p /opt/any23-2.7 && tar xzf /opt/software/apache-any23-cli-2.7.tar.gz -C /opt/any23-2.7 --strip-components=1
查看部署结果:
ls -la /opt/any23-2.7
total 112
drwxr-xr-x 5 root root 4096 Oct 13 16:20 .
drwxr-xr-x 1 root root 4096 Oct 13 16:21 ..
-rw-rw-rw- 1 root root 21383 Jan 1 1970 LICENSE.txt
-rw-rw-rw- 1 root root 500 Jan 1 1970 NOTICE.txt
-rw-rw-rw- 1 root root 4988 Jan 1 1970 README.txt
-rw-rw-rw- 1 root root 45218 Jan 1 1970 RELEASE-NOTES.md
drwxr-xr-x 2 root root 4096 Jan 1 1970 bin
drwxr-xr-x 2 root root 4096 Oct 13 16:20 etc
drwxr-xr-x 2 root root 12288 Jan 1 1970 lib
bin 目录内包含 any23 主脚本与 Windows 批处理:
ls /opt/any23-2.7/bin
any23
any23.bat
验证结果:部署目录结构与官方发行包一致,lib 目录存放全部运行依赖 jar。
4.5 配置环境变量
将 JAVA_HOME 与 PATH 写入 /etc/profile.d/any23.sh,登录 shell 自动加载:
cat > /etc/profile.d/any23.sh <<'EOF'
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=/opt/any23-2.7/bin:$PATH
EOF
重新加载并验证:
bash -l -c 'echo $JAVA_HOME; echo $PATH | tr ":" "\n" | grep /opt/any23-2.7'
/usr/lib/jvm/java-11-openjdk-amd64
/opt/any23-2.7/bin
验证结果:新登录会话自动生效,any23 命令可直接调用。
4.6 验证安装
查看版本信息:
any23 -v
Apache Any23 2.7 (2022-02-21 18:31:44+0000)
Java version: 11.0.32.1, vendor: Ubuntu
Java home: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "Linux", version: "6.8.0-138-generic", arch: "amd64", family: "unix"
查看命令帮助确认 CLI 可用:
any23 --help
Usage: any23 [options] [command] [command options]
Options:
-h, --help
Display help information.
Default: false
--plugins-dir
The Any23 plugins directory.
Default: /root/.any23/plugins
-X, --verbose
Produce execution verbose output.
Default: false
-v, --version
Display version information.
Default: false
Commands:
extractor Utility for obtaining documentation about metadata
extractors.
microdata Commandline Tool for extracting Microdata from file/HTTP
source.
mimes MIME Type Detector Tool.
verify Utility for plugin management verification.
rover Apache Any23 Command Line Tool.
vocab Prints out the RDF Schema of the vocabularies used by Any23.
验证结果:版本号 2.7、Java 11.0.32.1 识别正确,6 个子命令全部注册,安装成功。
五、功能验证
5.1 构造测试 HTML
创建包含标题与 meta 信息的测试页面:
cat > /opt/any23-demo/sample.html <<'EOF'
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>Any23 实测示例页面</title>
<meta name="author" content="Apache Any23 Team">
<link rel="license" href="http://www.apache.org/licenses/LICENSE-2.0">
</head>
<body>
<div vocab="http://schema.org/" typeof="Book">
<span property="name">Anything To Triples</span>
</div>
</body>
</html>
EOF
5.2 抽取 RDF 三元组
指定提取器快速抽取(实测约 1 秒完成):
any23 rover -e html-head-title,html-rdfa11 /opt/any23-demo/sample.html
------------------------------------------------------------------------
Apache Any23 :: rover
------------------------------------------------------------------------
<file:/opt/any23-demo/sample.html> <http://purl.org/dc/terms/title> "Any23 实测示例页面" .
<file:/opt/any23-demo/sample.html> <http://www.w3.org/1999/xhtml/vocab#license> <http://www.apache.org/licenses/LICENSE-2.0> .
<file:/opt/any23-demo/sample.html> <http://www.w3.org/ns/rdfa#usesVocabulary> <http://schema.org/> .
_:n0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Book> .
_:n0 <http://schema.org/name> "Anything To Triples"@zh-CN .
------------------------------------------------------------------------
Apache Any23 SUCCESS
Total time: 1s
Finished at: Tue Oct 13 16:31:08 UTC 2026
Final Memory: 31M/506M
------------------------------------------------------------------------
验证结果:HTML 页面成功抽取 5 条 N-Triples(标题、许可证、RDFa 图书实体),CLI 全链路可用。
六、常见问题
- 执行 any23 报错 JAVA_HOME is not defined correctly:脚本要求 JAVA_HOME 指向 JDK 根目录,按 4.5 节配置 /etc/profile.d/any23.sh 后重新登录,或先 export JAVA_HOME 再执行。
- 默认运行较慢(约 2 分钟):默认加载全部 33 个提取器,其中 html-embedded-jsonld 初始化时会尝试解析远程 JSON-LD 上下文,外网受限环境等待约 126 秒后放弃;用 -e 指定实际需要的提取器即可秒级完成。
七、参考链接
- Apache Any23 官方首页:https://any23.apache.org/
- Apache Any23 发行包归档目录:https://downloads.apache.org/any23/2.7/
- Apache Any23 官方安装说明:https://any23.apache.org/install.html
- Apache Attic Any23 项目状态:https://attic.apache.org/projects/any23.html
- Apache Any23 GitHub 仓库(只读):https://github.com/apache/any23