Maven builds the Base package of the Ant – Framework core code. Maven builds the Base package of the Ant – Utils package.

Ant-utils is the core toolkit that provides a common utility class library for the entire architecture

Create the ant-utils tool wrapper project and inherit from the ant-parent root project, where pom.xml is configured as follows:

<span style=”font-size: 14px;”><?xml version=”1.0″?>

<project

xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”

xmlns=”http://maven.apache.org/POM/4.0.0″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>com.sml.sz</groupId>

<artifactId>ant-project</artifactId>

<version>1.0.0</version>

</parent>

<artifactId>ant-utils</artifactId>

<name>ant-utils</name>

<url>http://maven.apache.org</url>

<description>ant核心工具包,提供整个架构通用工具类库</description>



<dependencies>

<!– 通用工具包 –>

<dependency>

<groupId>org.apache.commons</groupId>

<artifactId>commons-lang3</artifactId>

<version>${commons-lang3.version}</version>

</dependency>

<dependency>

<groupId>commons-io</groupId>

<artifactId>commons-io</artifactId>

<version>${commons-io.version}</version>

</dependency>

<dependency>

<groupId>commons-codec</groupId>

<artifactId>commons-codec</artifactId>

<version>${commons-codec.version}</version>

</dependency>

<dependency>

<groupId>commons-fileupload</groupId>

<artifactId>commons-fileupload</artifactId>

<version>${commons-fileupload.version}</version>

</dependency>

<dependency>

<groupId>commons-beanutils</groupId>

<artifactId>commons-beanutils</artifactId>

<version>${commons-beanutils.version}</version>

<exclusions>

<exclusion>

<groupId>commons-logging</groupId>

<artifactId>commons-logging</artifactId>

</exclusion>

</exclusions>

</dependency>



<!– jackson json 包–>

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-core</artifactId>

<version>${jackson.version}</version>

</dependency>

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-databind</artifactId>

<version>${jackson.version}</version>

</dependency>

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-annotations</artifactId>

<version>${jackson.version}</version>

</dependency>

<dependency>

<groupId>com.fasterxml.jackson.module</groupId>

<artifactId>jackson-module-jaxb-annotations</artifactId>

<version>${jackson.version}</version>

</dependency>



<!– xstream包,将Java对象和xml文档相互转换–>

<dependency>

<groupId>com.thoughtworks.xstream</groupId>

<artifactId>xstream</artifactId>

<version>${xstream.version}</version>

</dependency>



<!– pojo copy javaBean的映射工具包,可以进行简单的属性映射、复杂的类型映射、双向映射、递归映射–>

<dependency>

<groupId>net.sf.dozer</groupId>

<artifactId>dozer</artifactId>

<version>${dozer.version}</version>

</dependency>



<!– freemarker 模板引擎包 –>

<dependency>

<groupId>org.freemarker</groupId>

<artifactId>freemarker</artifactId>

<version>${freemarker.version}</version>

</dependency>



<!– java邮件发送 –>

<dependency>

<groupId>javax.mail</groupId>

<artifactId>mail</artifactId>

<version>${email.version}</version>

</dependency>

<dependency>

<groupId>javax.activation</groupId>

<artifactId>activation</artifactId>

<version>1.1.1</version>

</dependency>



<!– POI相关的包 –>

<dependency>

<groupId>org.apache.poi</groupId>

<artifactId>poi</artifactId>

<version>${poi.version}</version>

</dependency>

<dependency>

<groupId>org.apache.poi</groupId>

<artifactId>poi-ooxml</artifactId>

<version>${poi.version}</version>

</dependency>

<dependency>

<groupId>org.apache.poi</groupId>

<artifactId>poi-ooxml-schemas</artifactId>

<version>${poi.version}</version>

</dependency>



<!– 图片数据元提取 –>

<dependency>

<groupId>com.drewnoakes</groupId>

<artifactId>metadata-extractor</artifactId>

<version>2.6.2</version>

</dependency>



<!– 条形码、二维码生成 –>

<dependency>

<groupId>com.google.zxing</groupId>

<artifactId>core</artifactId>

<version>2.2</version>

</dependency>

<dependency>

<groupId>com.google.zxing</groupId>

<artifactId>javase</artifactId>

<version>2.2</version>

</dependency>



<!– 缓存相关包 –>

<dependency>

<groupId>net.sf.ehcache</groupId>

<artifactId>ehcache-core</artifactId>

<version>${ehcache.version}</version>

</dependency>

<dependency>

<groupId>net.sf.ehcache</groupId>

<artifactId>ehcache-web</artifactId>

<version>${ehcache-web.version}</version>

</dependency>

<dependency>

<groupId>redis.clients</groupId>

<artifactId>jedis</artifactId>

<version>2.5.1</version>

</dependency>



<!– spring相关包 –>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context-support</artifactId>

<version>${spring.version}</version>

</dependency>



<!– httpclient 依赖包,使用的时候才依赖 –>

<dependency>

<groupId>org.apache.httpcomponents</groupId>

<artifactId>httpclient</artifactId>

<version>4.5.2</version>

</dependency>

</dependencies>

<profiles>

<profile>

<id>sit</id>

<activation>

<property>

<name>environment.type</name>

<value>sit</value>

</property>

</activation>

<build>

<plugins>

<plugin>

<groupId>com.google.code.maven-replacer-plugin</groupId>

<artifactId>replacer</artifactId>

<configuration>

<includes>

<include>target/classes/logback.properties</include>

</includes>

<replacements>

<replacement>

<token>=dev</token>

<value>=sit</value>

</replacement>

</replacements>

</configuration>

</plugin>

</plugins>

</build>

</profile>

<profile>

<id>uat</id>

<activation>

<property>

<name>environment.type</name>

<value>uat</value>

</property>

</activation>

<build>

<plugins>

<plugin>

<groupId>com.google.code.maven-replacer-plugin</groupId>

<artifactId>replacer</artifactId>

<configuration>

<includes>

<include>target/classes/logback.properties</include>

</includes>

<replacements>

<replacement>

<token>=dev</token>

<value>=uat</value>

</replacement>

</replacements>

</configuration>

</plugin>

</plugins>

</build>

</profile>

<profile>

<id>performance</id>

<activation>

<property>

<name>environment.type</name>

<value>performance</value>

</property>

</activation>

<build>

<plugins>

<plugin>

<groupId>com.google.code.maven-replacer-plugin</groupId>

<artifactId>replacer</artifactId>

<configuration>

<includes>

<include>target/classes/logback.properties</include>

</includes>

<replacements>

<replacement>

<token>=dev</token>

<value>=perf</value>

</replacement>

</replacements>

</configuration>

</plugin>

</plugins>

</build>

</profile>

<profile>

<id>production</id>

<activation>

<property>

<name>environment.type</name>

<value>production</value>

</property>

</activation>

<build>

<plugins>

<plugin>

<groupId>com.google.code.maven-replacer-plugin</groupId>

<artifactId>replacer</artifactId>

<configuration>

<includes>

<include>target/classes/logback.properties</include>

</includes>

<replacements>

<replacement>

<token>=dev</token>

<value>=prd</value>

</replacement>

</replacements>

</configuration>

</plugin>

</plugins>

</build>

</profile>

</profiles>

</project></span>

2. This project only contains general tool class libraries, including configuration files, file processing, mobile phone SMS, email processing,

Redis cache handling, Collection collection handling, cookie handling, time tools, Freemarker template tools, HttpClient tools,

Multithreading, etc. More detailed source code reference sources

Welcome to learn “Building a Dubbo Distributed Platform” with me, and I hope you will continue to pay attention to the following articles!

Willing to understand the framework technology or source code of friends directly to exchange and share technology: 2042849237 distributed some solutions, there are willing to understand the friends can find our team to discuss