ip2region_private/maker/java
Alice39s 8d4a489806
fix(license): align Java binding and maker license metadata
- Replace single Apache-2.0 license entry with Apache-2.0 and MIT
- Include root LICENSE.md in packaged jars via build resources
- Preserve default src/main/resources resource directory
2026-06-29 23:39:13 +09:00
..
src mv all the tests files to the ./sample 2026-03-13 09:36:24 +08:00
README.md add english readme for rust maker 2026-02-25 23:13:29 +08:00
README_zh.md add english readme for java maker 2026-02-25 23:01:17 +08:00
pom.xml fix(license): align Java binding and maker license metadata 2026-06-29 23:39:13 +09:00

README.md

🌐 中文简体 | English

ip2region xdb java generation implementation

Compilation and Installation

Compile the executable jar program via maven:

# cd to the maker/java root directory
mvn clean compile package

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 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

For example, generate an IPv4 ip2region_v4.xdb binary file in the current directory using the default data/ipv4_source.txt raw data:

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

For example, generate an IPv6 ip2region_v6.xdb binary file in the current directory using the default data/ipv6_source.txt raw data:

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

For custom data fields during the generation process, please refer to xdb-文件生成#自定义数据字段

Data Search/bench Test

All bindings come with 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.