add english readme for java maker

This commit is contained in:
lionsoul2014 2026-02-25 23:01:17 +08:00
parent 832e3fd77d
commit a31a966546
4 changed files with 73 additions and 17 deletions

View File

@ -68,7 +68,7 @@ For API introductions, usage documentation, and test programs, please refer to t
| Language | Description | IPv4 Support | IPv6 Support | | Language | Description | IPv4 Support | IPv6 Support |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| [Golang](maker/golang/README.md) | golang xdb generation program | :white_check_mark: | :white_check_mark: | | [Golang](maker/golang/README.md) | golang xdb generation program | :white_check_mark: | :white_check_mark: |
| [Java](maker/java) | java xdb generation program | :white_check_mark: | :white_check_mark: | | [Java](maker/java/README.md) | java xdb generation program | :white_check_mark: | :white_check_mark: |
| [Python](maker/python) | python xdb generation program | :white_check_mark: | :x: | | [Python](maker/python) | python xdb generation program | :white_check_mark: | :x: |
| [Csharp](maker/csharp) | csharp xdb generation program | :white_check_mark: | :x: | | [Csharp](maker/csharp) | csharp xdb generation program | :white_check_mark: | :x: |
| [Rust](maker/rust) | rust xdb generation program | :white_check_mark: | :white_check_mark: | | [Rust](maker/rust) | rust xdb generation program | :white_check_mark: | :white_check_mark: |
@ -91,9 +91,9 @@ For instructions on using the raw IP data editing tools, please refer to the REA
| Language | Description | IPv4 Support | IPv6 Support | | Language | Description | IPv4 Support | IPv6 Support |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| [Golang](maker/golang%23xdb-%E6%95%B0%E6%8D%AE%E7%BC%96%E8%BE%91) | golang IP raw data editor | :white_check_mark: | :white_check_mark: | | [Golang](maker/golang#xdb-%E6%95%B0%E6%8D%AE%E7%BC%96%E8%BE%91) | golang IP raw data editor | :white_check_mark: | :white_check_mark: |
| [Java](maker/java%23xdb-%E6%95%B0%E6%8D%AE%E7%BC%96%E8%BE%91) | java IP raw data editor | :white_check_mark: | :x: | | [Java](maker/java#xdb-%E6%95%B0%E6%8D%AE%E7%BC%96%E8%BE%91) | java IP raw data editor | :white_check_mark: | :x: |
| [C++](maker/cpp) | C++ IP raw data editor | :white_check_mark: | :white_check_mark: | | [C++](maker/cpp) | C++ IP raw data editor | :white_check_mark: | :white_check_mark: |
### Detection Automatic Update ### Detection Automatic Update

View File

@ -67,7 +67,7 @@ API 介绍,使用文档和测试程序请参考如下 `maker` 生成程序下
| 编程语言 | 描述 | IPv4 支持 | IPv6 支持 | | 编程语言 | 描述 | IPv4 支持 | IPv6 支持 |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| [Golang](maker/golang/README_zh.md) | golang xdb 生成程序 | :white_check_mark: | :white_check_mark: | | [Golang](maker/golang/README_zh.md) | golang xdb 生成程序 | :white_check_mark: | :white_check_mark: |
| [Java](maker/java) | java xdb 生成程序 | :white_check_mark: | :white_check_mark: | | [Java](maker/java/README_zh.md) | java xdb 生成程序 | :white_check_mark: | :white_check_mark: |
| [Python](maker/python) | python xdb 生成程序 | :white_check_mark: | :x: | | [Python](maker/python) | python xdb 生成程序 | :white_check_mark: | :x: |
| [Csharp](maker/csharp) | csharp xdb 生成程序 | :white_check_mark: | :x: | | [Csharp](maker/csharp) | csharp xdb 生成程序 | :white_check_mark: | :x: |
| [Rust](maker/rust) | rust xdb 生成程序 | :white_check_mark: | :white_check_mark: | | [Rust](maker/rust) | rust xdb 生成程序 | :white_check_mark: | :white_check_mark: |

View File

@ -1,17 +1,22 @@
# ip2region xdb java 生成实现 :globe_with_meridians: [中文简体](README_zh.md) | [English](README.md)
# ip2region xdb java generation implementation
# Compilation and Installation
Compile the executable jar program via maven:
# 编译安装
通过 maven 来编译可运行 jar 程序:
```bash ```bash
# cd 到 maker/java 根目录 # cd to the maker/java root directory
mvn clean compile package mvn clean compile package
``` ```
然会会在当前目录的 target 目录下得到一个 ip2region-maker-{version}.jar 的打包文件。 Then you will get an ip2region-maker-{version}.jar package file in the target directory of the current directory.
# 数据生成 # Data Generation
Generate the xdb binary file via `java -jar ip2region-maker-{version}.jar`:
通过 `java -jar ip2region-maker-{version}.jar` 来生成 xdb 二进制文件:
```bash ```bash
➜ java git:(master) java -jar target/ip2region-maker-3.0.0.jar ➜ java git:(master) java -jar target/ip2region-maker-3.0.0.jar
ip2region xdb maker ip2region xdb maker
@ -24,7 +29,8 @@ options:
--log-level string set the log level, options: debug/info/warn/error --log-level string set the log level, options: debug/info/warn/error
``` ```
例如,通过默认的 data/ipv4_source.txt 原始数据,在当前目录生成一个 IPv4 的 ip2region_v4.xdb 二进制文件: For example, generate an IPv4 ip2region_v4.xdb binary file in the current directory using the default data/ipv4_source.txt raw data:
```bash ```bash
java -jar target/ip2region-maker-3.0.0.jar --src=../../data/ipv4_source.txt --dst=./ip2region_v4.xdb --version=ipv4 java -jar target/ip2region-maker-3.0.0.jar --src=../../data/ipv4_source.txt --dst=./ip2region_v4.xdb --version=ipv4
... ...
@ -32,7 +38,8 @@ java -jar target/ip2region-maker-3.0.0.jar --src=../../data/ipv4_source.txt --ds
2025-09-13 00:33:06 INFO org.lionsoul.ip2region.MakerApp Done, elapsed: 2 s 2025-09-13 00:33:06 INFO org.lionsoul.ip2region.MakerApp Done, elapsed: 2 s
``` ```
例如,通过默认的 data/ipv6_source.txt 有原始据,在当前目录生成一个 IPv6 的 ip2region_v6.xdb 二进制文件: For example, generate an IPv6 ip2region_v6.xdb binary file in the current directory using the default data/ipv6_source.txt raw data:
```bash ```bash
java -jar target/ip2region-maker-3.0.0.jar --src=../../data/ipv6_source.txt --dst=./ip2region_v6.xdb --version=ipv6 java -jar target/ip2region-maker-3.0.0.jar --src=../../data/ipv6_source.txt --dst=./ip2region_v6.xdb --version=ipv6
... ...
@ -40,8 +47,8 @@ java -jar target/ip2region-maker-3.0.0.jar --src=../../data/ipv6_source.txt --ds
2025-09-13 00:35:34 INFO org.lionsoul.ip2region.MakerApp Done, elapsed: 67 s 2025-09-13 00:35:34 INFO org.lionsoul.ip2region.MakerApp Done, elapsed: 67 s
``` ```
生成过程中数据字段自定义请参考 [xdb-文件生成#自定义数据字段](https://ip2region.net/doc/data/xdb_make#field-list) For custom data fields during the generation process, please refer to [xdb-文件生成#自定义数据字段](https://ip2region.net/doc/data/xdb_make#field-list)
# 数据 查询/bench 测试 # Data Search/bench Test
已经完成开发的 [binding](../../binding/) 都有查询和 bench 测试程序以及使用文档,你可以使用你熟悉的语言的 searcher 进行查询测试或者bench测试来确认数据的正确性和完整性。 All [bindings](../../binding/) provided search and bench test programs as well as usage documentation. You can use the searcher of your familiar language for query testing or bench testing to confirm the correctness and integrity of the data.

49
maker/java/README_zh.md Normal file
View File

@ -0,0 +1,49 @@
:globe_with_meridians: [中文简体](README_zh.md) | [English](README.md)
# ip2region xdb java 生成实现
# 编译安装
通过 maven 来编译可运行 jar 程序:
```bash
# cd 到 maker/java 根目录
mvn clean compile package
```
然会会在当前目录的 target 目录下得到一个 ip2region-maker-{version}.jar 的打包文件。
# 数据生成
通过 `java -jar ip2region-maker-{version}.jar` 来生成 xdb 二进制文件:
```bash
➜ java git:(master) java -jar target/ip2region-maker-3.0.0.jar
ip2region xdb maker
java -jar ip2region-maker-{version}.jar [command options]
options:
--src string source ip text file path
--dst string destination binary xdb file path
--version string IP version, options: ipv4/ipv6, specify this flag so you don't get confused
--field-list string field index list imploded with ',' eg: 0,1,2,3-6,7
--log-level string set the log level, options: debug/info/warn/error
```
例如,通过默认的 data/ipv4_source.txt 原始数据,在当前目录生成一个 IPv4 的 ip2region_v4.xdb 二进制文件:
```bash
java -jar target/ip2region-maker-3.0.0.jar --src=../../data/ipv4_source.txt --dst=./ip2region_v4.xdb --version=ipv4
...
2025-09-13 00:33:06 INFO org.lionsoul.ip2region.xdb.Maker write done, dataBlocks: 13827, indexBlocks: (683843, 720464), indexPtr: (955933, 11042415)
2025-09-13 00:33:06 INFO org.lionsoul.ip2region.MakerApp Done, elapsed: 2 s
```
例如,通过默认的 data/ipv6_source.txt 有原始据,在当前目录生成一个 IPv6 的 ip2region_v6.xdb 二进制文件:
```bash
java -jar target/ip2region-maker-3.0.0.jar --src=../../data/ipv6_source.txt --dst=./ip2region_v6.xdb --version=ipv6
...
2025-09-13 00:35:34 INFO org.lionsoul.ip2region.xdb.Maker write done, dataBlocks: 120446, indexBlocks: (16789611, 16855074), indexPtr: (6585371, 647078145)
2025-09-13 00:35:34 INFO org.lionsoul.ip2region.MakerApp Done, elapsed: 67 s
```
生成过程中数据字段自定义请参考 [xdb-文件生成#自定义数据字段](https://ip2region.net/doc/data/xdb_make#field-list)
# 数据 查询/bench 测试
已经完成开发的 [binding](../../binding/) 都有查询和 bench 测试程序以及使用文档,你可以使用你熟悉的语言的 searcher 进行查询测试或者bench测试来确认数据的正确性和完整性。