`
天空晴朗
  • 浏览: 26872 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(十) 构建dubbo分布式平台-maven构建ant-utils工具项目

阅读更多

上一篇我们介绍《构建dubbo分布式平台-maven构建ant-framework核心代码Base封装》,今天重点讲解的是ant-utils工具包的构建过程。

 

导语:ant-utils是核心工具包,提供整个架构通用工具类库

 

1. 创建ant-utils工具包子项目,继承ant-parent根项目,其中pom.xml配置如下:

 

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

 

 

2. 此项目中只包含了通用的工具类库,包括:配置文件、文件处理、手机短信、email邮箱处理、

redis缓存处理、collection集合处理、cookie处理、时间工具、freemarker模板工具、httpclient工具、

多线程等。

 

欢迎大家跟我一起学习《构建dubbo分布式平台》,希望大家持续关注后面的文章!

 

5
0
分享到:
评论

相关推荐

    dubbo-demo-maven版

    本示例项目“dubbo-demo-maven版”是基于Maven构建的,旨在帮助开发者快速理解并掌握Dubbo的核心功能与使用方式。在本文中,我们将深入探讨如何利用Maven构建Dubbo项目,以及Dubbo的主要特性和应用场景。 首先,...

    dubbo-demo-consumer、dubbo-demo-provider、dubbo-simple-monitor

    本篇将详细讲解基于dubbo-demo-consumer、dubbo-demo-provider和dubbo-simple-monitor的实例服务,带你深入理解Dubbo的核心概念和操作流程。 首先,我们来看`dubbo-demo-consumer`,它是Dubbo服务的消费者。消费者...

    dubbo-monitor-simple-2.5.8-assembly.tar.gz

    《Dubbo监控工具详解——基于dubbo-monitor-simple-2.5.8》 在分布式系统开发中,监控是至关重要的一个环节,它可以帮助开发者实时了解服务的运行状态,及时发现并解决问题。Apache Dubbo,作为一款高性能、轻量级...

    dubbo_demo-maven

    dubbo_demo-maven demo里还基于Spring Aop,运用dubbo的"隐式参数"+DMC 实现了日志追踪 demo里还添加了filter 的基本应用 demo里集成 Bean Validation

    dubbo-admin-2.5.4.war

    dubbo-admin-2.5.4提供支持JDK1.7及JDK1.8的War包 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看...

    jmeter-plugins-dubbo-2.7.1-jar-with-dependencies

    本文将深入探讨“jmeter-plugins-dubbo-2.7.1-jar-with-dependencies”这一系统压测工具包,它专门针对基于Java的Dubbo服务进行性能测试。了解并熟练掌握这一工具,能帮助我们更好地优化服务性能,提升系统的稳定性...

    dubbo-admin-2.5.4.war后台管理

    本文将详细解析`dubbo-admin-2.5.4.war`这个版本的后台管理工具,探讨其主要特性和使用方法。 首先,`dubbo-admin-2.5.4.war`是一个可部署在Web服务器上的WAR包,如Tomcat,用于运行Dubbo的服务治理界面。此版本...

    dubbo监控平台dubbo-monitor-simple-2.5.3

    《Dubbo监控平台Dubbo-Monitor-Simple 2.5.3详解》 在分布式系统中,服务治理和监控是至关重要的环节,Dubbo作为一款高性能、轻量级的Java远程服务调用框架,提供了丰富的服务治理功能。本文将详细探讨Dubbo监控...

    springboot2.0.x+dubbo-spring-boot-starter

    标题 "springboot2.0.x+dubbo-spring-boot-starter" 涉及的是将流行的微服务框架 Dubbo 集成到 Spring Boot 2.0.x 的项目实践中。这个集成使得开发者能够利用 Spring Boot 的便利性和 Dubbo 的高性能远程服务调用...

    jmeter-plugins-dubbo-2.7.1-jar-with-dependencies (1)

    本文将深入探讨"jmeter-plugins-dubbo-2.7.1-jar-with-dependencies (1)"这个压缩包中的关键知识点。 1. **JMeter Plugins for Dubbo** JMeter Plugins for Dubbo 是一个扩展了JMeter功能的插件,专门用于测试基于...

    incubator-dubbo-ops-master.rar

    综上所述,Apache Incubator Dubbo-OPS Master是Dubbo生态系统中的重要组成部分,它提供了强大的管理和监控能力,为开发者带来了极大的便利,也是构建高效、稳定的分布式系统不可或缺的工具。对于Java开发者,尤其是...

    dubbo-monitor-simple-2.5.4-SNAPSHOT-assembly.tar.gz

    总结来说,“dubbo-monitor-simple-2.5.4-SNAPSHOT-assembly.tar.gz”是Dubbo提供的一种轻量级的监控解决方案,它简化了监控系统的部署和使用,帮助开发者更好地管理和优化分布式服务。尽管是开发版本,但对于理解...

    dubbo-admin-2.5.4

    然而,需要注意的是,虽然`dubbo-admin`提供了丰富的功能,但在生产环境中,为了安全和性能考虑,通常会对访问权限进行限制,并且结合其他监控工具(如Prometheus、Grafana等)以实现更全面的监控和报警。...

    一.dubbox(dangdang V2.8.4)+springBoot(1.4.2.RELEASE)+dubbo-monitor-web 监控项目源码

    【描述】表明这是一个结合了dubbox、springBoot和dubbo-monitor-web的项目源码,适合开发者进行学习和实践,以了解如何将这三个组件集成到一起,实现服务的监控和管理。 【标签】“dubbo monitor”进一步强调了本...

    Dubbo 分布式服务架构

    Dubbo分布式服务架构,对于研究大型Web服务器的并发技术的同学们有帮助。

    dubbo-admin-2.8.4

    dubbo-admin-2.8.4。后台管理工具,直接放在tomcat中运行。

    Maven构建的分布式demo

    Maven作为Java项目管理工具,为构建分布式应用程序提供了强大的支持。本篇将深入探讨如何利用Maven来构建一个简单的分布式系统。 首先,我们从最基础的Maven工程开始。Maven的项目对象模型(Project Object Model,...

    dubbo-admin-2.5.3.war工具

    dubbo-admin-2.5.3.war,源码编辑的war包,挺好用的。

Global site tag (gtag.js) - Google Analytics