| <?xml version="1.0" encoding="UTF-8"?> |
| <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> |
| <groupId>com.streamxhub.streamx</groupId> |
| <artifactId>streamx</artifactId> |
| <version>1.0.0</version> |
| <packaging>pom</packaging> |
| <name>StreamX</name> |
| <description>The flink and spark development scaffolding</description> |
| |
| <modules> |
| <module>streamx-common</module> |
| <module>streamx-flink</module> |
| <module>streamx-spark</module> |
| <module>streamx-console</module> |
| <module>streamx-plugin</module> |
| </modules> |
| |
| <!-- 定义统一版本号--> |
| <properties> |
| <project.build.jdk>1.8</project.build.jdk> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| <spark.version>2.2.0</spark.version> |
| <hive.version>2.3.4</hive.version> |
| <flink.version>1.12.0</flink.version> |
| <flink.hadoop.version>2.6.5</flink.hadoop.version> |
| <async.client.version>2.0.39</async.client.version> |
| <vertx.version>3.8.3</vertx.version> |
| <hadoop.version>2.6.0</hadoop.version> |
| <hbase.version>1.2.0</hbase.version> |
| <scala.version>2.11.12</scala.version> |
| <scala.binary.version>2.11</scala.binary.version> |
| <zkclient.version>0.11</zkclient.version> |
| <curator.version>4.2.0</curator.version> |
| <redis.version>3.3.0</redis.version> |
| <es.version>6.2.3</es.version> |
| <influxdb.version>2.17</influxdb.version> |
| <protobuf.version>2.5.0</protobuf.version> |
| <slf4j.version>1.7.25</slf4j.version> |
| <logback.version>1.2.3</logback.version> |
| <spotless.version>2.9.0</spotless.version> |
| <grpc.version>1.15.0</grpc.version> |
| <gson.version>2.8.5</gson.version> |
| |
| <PermGen>64m</PermGen> |
| <MaxPermGen>512m</MaxPermGen> |
| <clickhouse.version>0.1.53</clickhouse.version> |
| <CodeCacheSize>512m</CodeCacheSize> |
| <MaxMetaspace>512m</MaxMetaspace> |
| </properties> |
| |
| <dependencies> |
| |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.13.1</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!--scala--> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| <version>${scala.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-compiler</artifactId> |
| <version>${scala.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-reflect</artifactId> |
| <version>${scala.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| |
| <dependencyManagement> |
| |
| <dependencies> |
| <dependency> |
| <groupId>com.beachape</groupId> |
| <artifactId>enumeratum_${scala.binary.version}</artifactId> |
| <version>1.6.1</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-reflect</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>mysql</groupId> |
| <artifactId>mysql-connector-java</artifactId> |
| <version>8.0.16</version> |
| </dependency> |
| |
| <!--mysql async start--> |
| <dependency> |
| <groupId>io.vertx</groupId> |
| <artifactId>vertx-jdbc-client</artifactId> |
| <version>${vertx.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.vertx</groupId> |
| <artifactId>vertx-core</artifactId> |
| <version>${vertx.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.vertx</groupId> |
| <artifactId>vertx-lang-scala_${scala.binary.version}</artifactId> |
| <version>${vertx.version}</version> |
| </dependency> |
| <!--mysql async end--> |
| |
| <dependency> |
| <groupId>redis.clients</groupId> |
| <artifactId>jedis</artifactId> |
| <version>${redis.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.zaxxer</groupId> |
| <artifactId>HikariCP</artifactId> |
| <version>3.4.5</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.yaml</groupId> |
| <artifactId>snakeyaml</artifactId> |
| <version>1.24</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.json4s</groupId> |
| <artifactId>json4s-jackson_${scala.binary.version}</artifactId> |
| <version>3.7.0-M2</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>2.12.1</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.fasterxml.jackson.module</groupId> |
| <artifactId>jackson-module-scala_${scala.binary.version}</artifactId> |
| <version>2.12.1</version> |
| </dependency> |
| |
| <!--mail--> |
| <dependency> |
| <groupId>com.solarmosaic.client</groupId> |
| <artifactId>mail-client_${scala.binary.version}</artifactId> |
| <exclusions> |
| <exclusion> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| </exclusion> |
| </exclusions> |
| <version>0.1.0</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.scalaj</groupId> |
| <artifactId>scalaj-http_${scala.binary.version}</artifactId> |
| <version>2.4.2</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-email</artifactId> |
| <version>1.4</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.sun.mail</groupId> |
| <artifactId>javax.mail</artifactId> |
| <version>1.5.5</version> |
| </dependency> |
| |
| <!--apache.commons --> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>3.8.1</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</artifactId> |
| <version>1.3.1</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>4.5.3</version> |
| </dependency> |
| |
| <!--flink--> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-core</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-clients_${scala.binary.version}</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-scala_${scala.binary.version}</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-runtime_${scala.binary.version}</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-streaming-scala_${scala.binary.version}</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-kafka_${scala.binary.version}</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-elasticsearch5_${scala.binary.version}</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-elasticsearch6_${scala.binary.version}</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-filesystem_${scala.binary.version}</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-connector-jdbc_${scala.binary.version}</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <!--state backend--> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-statebackend-rocksdb_${scala.binary.version}</artifactId> |
| <version>${flink.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.asynchttpclient</groupId> |
| <artifactId>async-http-client</artifactId> |
| <version>${async.client.version}</version> |
| </dependency> |
| |
| <!--es sink need httpcomponents --> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpasyncclient</artifactId> |
| <version>4.1.2</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.bahir</groupId> |
| <artifactId>flink-connector-redis_${scala.binary.version}</artifactId> |
| <version>1.0</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-streaming-java_${scala.binary.version}</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <!--hbase--> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-client</artifactId> |
| <version>${hadoop.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>xml-apis</groupId> |
| <artifactId>xml-apis</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-client</artifactId> |
| <version>1.3.5</version> |
| <exclusions> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-yarn-api</artifactId> |
| <version>${hadoop.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-yarn-client</artifactId> |
| <version>${hadoop.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.influxdb</groupId> |
| <artifactId>influxdb-java</artifactId> |
| <version>${influxdb.version}</version> |
| </dependency> |
| |
| </dependencies> |
| </dependencyManagement> |
| |
| |
| <build> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| </resource> |
| </resources> |
| <!--各层强制依赖--> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>1.7</version> |
| <executions> |
| <execution> |
| <id>add-source</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>${basedir}/src/main/java</source> |
| <source>${basedir}/src/main/scala</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- |
| <plugin> |
| <groupId>com.diffplug.spotless</groupId> |
| <artifactId>spotless-maven-plugin</artifactId> |
| <version>${spotless.version}</version> |
| <configuration> |
| <java> |
| <!– These are the defaults, you can override if you want –> |
| <includes> |
| <include>src/main/java/**/*.java</include> |
| <include>src/test/java/**/*.java</include> |
| </includes> |
| |
| <importOrder/> <!– standard import order –> |
| <importOrder> <!– or a custom ordering –> |
| <order>java,javax,org,com,com.diffplug,</order> |
| </importOrder> |
| |
| <googleJavaFormat> |
| <version>1.7</version> |
| <style>GOOGLE</style> |
| </googleJavaFormat> |
| <removeUnusedImports/> <!– self-explanatory –> |
| <licenseHeader> |
| <file>license-header</file> |
| </licenseHeader> |
| </java> |
| <scala> |
| <!– These are the defaults, you can override if you want –> |
| <includes> |
| <include>src/main/scala/**/*.scala</include> |
| <include>src/test/scala/**/*.scala</include> |
| <include>src/main/scala/**/*.sc</include> |
| <include>src/test/scala/**/*.sc</include> |
| </includes> |
| |
| <scalafmt/> <!– has its own section below –> |
| |
| <licenseHeader> |
| <file>license-header</file> |
| <delimiter>package</delimiter> |
| </licenseHeader> |
| </scala> |
| <formats> |
| <format> |
| <includes> |
| <include>*.md</include> |
| <include>.gitignore</include> |
| </includes> |
| <trimTrailingWhitespace/> |
| <endWithNewline/> |
| <indent> |
| <tabs>true</tabs> |
| <spacesPerTab>4</spacesPerTab> |
| </indent> |
| </format> |
| </formats> |
| </configuration> |
| <executions> |
| <execution> |
| <id>spotless-check</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| --> |
| |
| <!--maven--> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.8.1</version> |
| <configuration> |
| <source>${project.build.jdk}</source> |
| <target>${project.build.jdk}</target> |
| <encoding>UTF-8</encoding> |
| </configuration> |
| </plugin> |
| |
| <!--scala--> |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>scala-maven-plugin</artifactId> |
| <version>4.3.0</version> |
| <configuration> |
| <addScalacArgs>-target:jvm-${project.build.jdk}</addScalacArgs> |
| <target>${project.build.jdk}</target> |
| <source>${project.build.jdk}</source> |
| </configuration> |
| <executions> |
| <execution> |
| <id>install-scala</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>add-source</goal> |
| <goal>compile</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>test-compile-scala</id> |
| <phase>test-compile</phase> |
| <goals> |
| <goal>add-source</goal> |
| <goal>testCompile</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| |
| <pluginManagement> |
| <plugins> |
| <!--(start) shade--> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>3.2.4</version> |
| <executions> |
| <execution> |
| <id>shade-flink</id> |
| <phase>none</phase> |
| </execution> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <createDependencyReducedPom>false</createDependencyReducedPom> |
| <artifactSet> |
| <excludes> |
| <exclude>org.apache.flink:force-shading</exclude> |
| <exclude>com.google.code.findbugs:jsr305</exclude> |
| <exclude>org.slf4j:*</exclude> |
| <exclude>log4j:*</exclude> |
| </excludes> |
| </artifactSet> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>META-INF/*.SF</exclude> |
| <exclude>META-INF/*.DSA</exclude> |
| <exclude>META-INF/*.RSA</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!--(end) shade --> |
| |
| <!--assembly--> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.1.1</version> |
| <executions> |
| <execution> |
| <id>distro-assembly</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <appendAssemblyId>false</appendAssemblyId> |
| <descriptors> |
| <descriptor>assembly.xml</descriptor> |
| </descriptors> |
| </configuration> |
| </plugin> |
| |
| </plugins> |
| |
| </pluginManagement> |
| </build> |
| |
| </project> |