简易顺序执行框架attic开发笔记2


上篇

空格的处理

本来想自己写词法分析的,结果自己编译原理基础不牢固写出来老是死循环,所以使用opencsv。核心代码如下:

这里使用空格代替CSV默认的分割符号冒号。

打包

本来以为打包很简单,因为单个模块时mvn dependency:copy-dependencies也能把所有依赖导出来,自己写个简单的shell还是works的。但是现在是多模块,总感觉不方便。后来知道了maven-assembly-plugin,不过这个插件的文档不是step by step的,个人感觉无从入手。不得已google了一些现有配置,大部分都是来自博客的,总算找到了能用的配置。

首先在插件配置中制定装配的XML:

接下来在src/main/assembly/assembly.xml中写如下配置:

最终得到一个含有bin和lib目录的分发包/目录,lib中是项目所有模块的依赖以及项目自身模块的包,bin目录下是src/main/scripts复制过来的脚本文件。

日志配置

本来不想处理的,但是某些命令实现的依赖中存在日志代码,不得不考虑配置。因为大部分日志都是通过commons-logging处理的,按照现在Java程序的处理方式,建议通过重定向方式由log4j实现和配置。在pom.xml中加入如下依赖:

增加log4j.properties

以上配置提升httpclient的日志阈值到ERROR,这样就不会看到WARN级别的cookie日志了。