Skip to content

编译运行

hankcs edited this page Mar 16, 2018 · 4 revisions

如何编译、打包、运行HanLP

master分支

对于master分支,编译方法如下:

git clone https://github.com/hankcs/HanLP.git
mvn install -DskipTests
  • 由于目前一些test不够规范,使用了硬编码路径下的资源,所以暂时跳过单元测试。
  • 该方法不会将src/main/resources目录下的任何资源(包括hanlp.properties)打包进jar,如果需要打包资源文件,请切换到portable分支。

portable分支

git checkout portable

然后将需要的data放入src/main/resources,最后执行:

mvn install -DskipTests

运行jar

目前jar包中有一些模块可以命令行执行,以感知机词法分析器为例。由于这些模块一般需要加载外部data,所以需要在运行时指定hanlp.properties。运行时,一个典型的目录结构如下:

$ tree -L 4    
.
├── data
│   ├── dictionary
│   └── model
├── src
│   ├── main
│   │   ├── java
│   │   └── resources
│   │       └── hanlp.properties
│   └── test
└── target
    └── hanlp-1.6.0.jar
  • 此处只列出了重要的目录。
  • 一个良好的实践是把hanlp.properties放到resources目录下。

命令行需要指定jar包和hanlp.properties所在的目录:

$ java -cp target/hanlp-1.6.0.jar:src/main/resources  com.hankcs.hanlp.model.perceptron.Main -test \
<<< '华安集团胡花蕊来到纽约艺术博物馆参观'
[华安/nz 集团/n]/nt 胡花蕊/nr 来到/v [纽约/ns 艺术/n 博物馆/n]/ns 参观/v
  • Windows用户请使用分号java -cp target/hanlp-1.6.0.jar;src/main/resources