123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>com.alibaba.otter</groupId>
- <artifactId>canal</artifactId>
- <version>1.1.9-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <groupId>com.alibaba.otter</groupId>
- <artifactId>canal.example</artifactId>
- <packaging>jar</packaging>
- <name>canal example module for otter ${project.version}</name>
- <dependencies>
- <dependency>
- <groupId>com.alibaba.otter</groupId>
- <artifactId>canal.client</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>com.alibaba.otter</groupId>
- <artifactId>canal.protocol</artifactId>
- <version>${project.version}</version>
- </dependency>
- <!-- 客户端要使用请单独引入mq-clients依赖 -->
- <dependency>
- <groupId>org.apache.rocketmq</groupId>
- <artifactId>rocketmq-client</artifactId>
- <version>${rocketmq_version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.rocketmq</groupId>
- <artifactId>rocketmq-acl</artifactId>
- <version>${rocketmq_version}</version>
- </dependency>
- <dependency>
- <groupId>com.rabbitmq</groupId>
- <artifactId>amqp-client</artifactId>
- <version>${rabbitmq_version}</version>
- </dependency>
- <dependency>
- <groupId>com.alibaba.mq-amqp</groupId>
- <artifactId>mq-amqp-client</artifactId>
- <version>${mq_amqp_client}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.kafka</groupId>
- <artifactId>kafka-clients</artifactId>
- <version>${kafka_version}</version>
- </dependency>
- <!-- Pulsar -->
- <dependency>
- <groupId>org.apache.pulsar</groupId>
- <artifactId>pulsar-client</artifactId>
- <version>${pulsar_version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.pulsar</groupId>
- <artifactId>pulsar-client-admin</artifactId>
- <version>${pulsar_version}</version>
- </dependency>
- <!-- test dependency -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <!-- deploy模块的packaging通常是jar,如果项目中没有java 源代码或资源文件,加上这一段配置使项目能通过构建 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.5</version>
- <configuration>
- <archive>
- <addMavenDescriptor>true</addMavenDescriptor>
- </archive>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <!-- 这是最新版本,推荐使用这个版本 -->
- <version>2.2.1</version>
- <executions>
- <execution>
- <id>assemble</id>
- <goals>
- <goal>single</goal>
- </goals>
- <phase>package</phase>
- </execution>
- </executions>
- <configuration>
- <appendAssemblyId>false</appendAssemblyId>
- <attach>false</attach>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <profiles>
- <profile>
- <id>dev</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- <property>
- <name>env</name>
- <value>!release</value>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <!-- maven assembly插件需要一个描述文件 来告诉插件包的结构以及打包所需的文件来自哪里 -->
- <descriptors>
- <descriptor>${basedir}/src/main/assembly/dev.xml</descriptor>
- </descriptors>
- <finalName>canal-example</finalName>
- <outputDirectory>${project.build.directory}</outputDirectory>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>release</id>
- <activation>
- <property>
- <name>env</name>
- <value>release</value>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <!-- 发布模式使用的maven assembly插件描述文件 -->
- <descriptors>
- <descriptor>${basedir}/src/main/assembly/release.xml</descriptor>
- </descriptors>
- <!-- 如果一个应用的包含多个deploy模块,如果使用同样的包名, 如果把它们复制的一个目录中可能会失败,所以包名加了 artifactId以示区分 -->
- <finalName>${project.artifactId}-${project.version}</finalName>
- <!-- scm 要求 release 模式打出的包放到顶级目录下的target子目录中 -->
- <outputDirectory>${project.parent.build.directory}</outputDirectory>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
- </project>
|