<?xml version="1.0" encoding="UTF-8"?><!-- The MIT License Copyright © 2014-2019 Ilkka Seppälä Permission is herebygranted, free of charge, to any person obtaining a copy of this softwareand associated documentation files (the "Software"), to deal in the Softwarewithout restriction, including without limitation the rights to use, copy,modify, merge, publish, distribute, sublicense, and/or sell copies of theSoftware, and to permit persons to whom the Software is furnished to do so,subject to the following conditions: The above copyright notice and thispermission notice shall be included in all copies or substantial portionsof the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANYKIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. INNO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHERDEALINGS IN THE SOFTWARE. --><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.iluwatar</groupId><artifactId>java-design-patterns</artifactId><version>1.23.0-SNAPSHOT</version><packaging>pom</packaging><inceptionYear>2014-2019</inceptionYear><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><hibernate.version>5.2.18.Final</hibernate.version><spring.version>5.0.13.RELEASE</spring.version><spring-boot.version>2.0.9.RELEASE</spring-boot.version><spring-data.version>2.0.14.RELEASE</spring-data.version><h2.version>1.4.190</h2.version><junit.version>4.12</junit.version><junit-jupiter.version>5.5.2</junit-jupiter.version><junit-vintage.version>${junit.version}.2</junit-vintage.version><sping-test-junit5.version>1.0.2</sping-test-junit5.version><compiler.version>3.8.1</compiler.version><jacoco.version>0.8.4</jacoco.version><commons-dbcp.version>1.4</commons-dbcp.version><camel.version>2.24.0</camel.version><guava.version>19.0</guava.version><mockito.version>1.10.19</mockito.version><htmlunit.version>2.22</htmlunit.version><guice.version>4.0</guice.version><mongo-java-driver.version>3.12.1</mongo-java-driver.version><slf4j.version>1.7.30</slf4j.version><logback.version>1.2.3</logback.version><aws-lambda-core.version>1.1.0</aws-lambda-core.version><aws-java-sdk-dynamodb.version>1.11.289</aws-java-sdk-dynamodb.version><aws-lambda-java-events.version>2.0.1</aws-lambda-java-events.version><jackson.version>2.10.2</jackson.version><jaxb-api.version>2.3.1</jaxb-api.version><jaxb-impl.version>2.3.2</jaxb-impl.version><annotation-api.version>1.3.2</annotation-api.version><system-rules.version>1.19.0</system-rules.version><urm.version>1.4.8</urm.version><!-- SonarCloud --><sonar.host.url>https://sonarcloud.io</sonar.host.url><sonar.organization>iluwatar</sonar.organization><sonar.projectKey>iluwatar_java-design-patterns</sonar.projectKey><sonar.moduleKey>${artifactId}</sonar.moduleKey><sonar.projectName>Java Design Patterns</sonar.projectName></properties><modules><module>abstract-factory</module><module>tls</module><module>builder</module><module>factory-method</module><module>prototype</module><module>singleton</module><module>adapter</module><module>bridge</module><module>composite</module><module>dao</module><module>data-mapper</module><module>decorator</module><module>facade</module><module>flyweight</module><module>proxy</module><module>chain</module><module>command</module><module>interpreter</module><module>iterator</module><module>mediator</module><module>memento</module><module>model-view-presenter</module><module>observer</module><module>state</module><module>strategy</module><module>template-method</module><module>visitor</module><module>double-checked-locking</module><module>servant</module><module>service-locator</module><module>null-object</module><module>event-aggregator</module><module>callback</module><module>execute-around</module><module>property</module><module>intercepting-filter</module><module>producer-consumer</module><module>pipeline</module><module>poison-pill</module><module>reader-writer-lock</module><module>lazy-loading</module><module>service-layer</module><module>specification</module><module>tolerant-reader</module><module>model-view-controller</module><module>flux</module><module>double-dispatch</module><module>multiton</module><module>resource-acquisition-is-initialization</module><module>thread-pool</module><module>twin</module><module>private-class-data</module><module>object-pool</module><module>dependency-injection</module><module>naked-objects</module><module>front-controller</module><module>repository</module><module>async-method-invocation</module><module>monostate</module><module>step-builder</module><module>business-delegate</module><module>half-sync-half-async</module><module>layers</module><module>eip-message-channel</module><module>fluentinterface</module><module>reactor</module><module>caching</module><module>eip-publish-subscribe</module><module>delegation</module><module>event-driven-architecture</module><module>api-gateway</module><module>factory-kit</module><module>feature-toggle</module><module>value-object</module><module>module</module><module>monad</module><module>mute-idiom</module><module>mutex</module><module>semaphore</module><module>hexagonal</module><module>abstract-document</module><module>aggregator-microservices</module><module>promise</module><module>page-object</module><module>event-asynchronous</module><module>event-queue</module><module>queue-load-leveling</module><module>object-mother</module><module>data-bus</module><module>converter</module><module>guarded-suspension</module><module>balking</module><module>extension-objects</module><module>marker</module><module>cqrs</module><module>event-sourcing</module><module>data-transfer-object</module><module>throttling</module><module>unit-of-work</module><module>partial-response</module><module>eip-wire-tap</module><module>eip-splitter</module><module>eip-aggregator</module><module>retry</module><module>dirty-flag</module><module>trampoline</module><module>serverless</module><module>ambassador</module><module>acyclic-visitor</module><module>collection-pipeline</module><module>master-worker-pattern</module><module>spatial-partition</module><module>priority-queue</module><module>commander</module><module>typeobjectpattern</module><module>bytecode</module><module>leader-election</module><module>data-locality</module><module>subclass-sandbox</module><module>circuit-breaker</module><module>role-object</module><module>saga</module><module>double-buffer</module><module>sharding</module><module>game-loop</module><module>combinator</module><module>update-method</module><module>leader-followers</module><module>strangler</module><module>arrange-act-assert</module></modules><repositories><repository><id>jitpack.io</id><url>https://jitpack.io</url></repository></repositories><dependencyManagement><dependencies><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>${hibernate.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-jpa</artifactId><version>${spring-data.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><version>${h2.version}</version></dependency><dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>${commons-dbcp.version}</version></dependency><dependency><groupId>org.apache.camel</groupId><artifactId>camel-core</artifactId><version>${camel.version}</version></dependency><dependency><groupId>org.apache.camel</groupId><artifactId>camel-stream</artifactId><version>${camel.version}</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>${junit-jupiter.version}</version><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-engine</artifactId><version>${junit-jupiter.version}</version><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-params</artifactId><version>${junit-jupiter.version}</version><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-migrationsupport</artifactId><version>${junit-jupiter.version}</version><scope>test</scope></dependency><dependency><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId><version>${junit-vintage.version}</version><scope>test</scope></dependency><dependency><groupId>com.github.sbrannen</groupId><artifactId>spring-test-junit5</artifactId><version>${sping-test-junit5.version}</version><scope>test</scope></dependency><dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>${mockito.version}</version><scope>test</scope></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>${guava.version}</version></dependency><dependency><groupId>net.sourceforge.htmlunit</groupId><artifactId>htmlunit</artifactId><version>${htmlunit.version}</version></dependency><dependency><groupId>com.google.inject</groupId><artifactId>guice</artifactId><version>${guice.version}</version></dependency><dependency><groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId><version>${mongo-java-driver.version}</version></dependency><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>${jaxb-api.version}</version></dependency><dependency><groupId>javax.annotation</groupId><artifactId>javax.annotation-api</artifactId><version>${annotation-api.version}</version></dependency><dependency><groupId>com.sun.xml.bind</groupId><artifactId>jaxb-impl</artifactId><version>${jaxb-impl.version}</version></dependency><dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.26.0-GA</version></dependency><dependency><groupId>com.github.stefanbirkner</groupId><artifactId>system-rules</artifactId><version>${system-rules.version}</version><scope>test</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>${logback.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>${logback.version}</version></dependency></dependencies><build><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${compiler.version}</version><configuration><source>11</source><target>11</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>3.0.0-M3</version><configuration><argLine>-Xmx1024M ${argLine}</argLine></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version></plugin><!-- Maven assembly plugin template for all child project to follow --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><executions><execution><phase>package</phase><goals><goal>single</goal></goals><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><!-- below two line make sure the fat jar is sharing the same nameas of project name --><finalName>${project.artifactId}</finalName><appendAssemblyId>false</appendAssemblyId></configuration></execution></executions></plugin><plugin><groupId>org.sonarsource.scanner.maven</groupId><artifactId>sonar-maven-plugin</artifactId><version>3.7.0.1746</version></plugin></plugins></pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-checkstyle-plugin</artifactId><version>3.1.0</version><executions><execution><id>validate</id><goals><goal>check</goal></goals><phase>validate</phase><configuration><configLocation>google_checks.xml</configLocation><suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation><encoding>UTF-8</encoding><failOnViolation>true</failOnViolation><violationSeverity>warning</violationSeverity><includeTestSourceDirectory>false</includeTestSourceDirectory></configuration></execution></executions></plugin><!-- Resolves ${projectRoot} to the project root directory. Used by thelicense-maven-plugin to find the correct location of license-plugin-header-style.xmlwhen built from a submodule directory. --><plugin><groupId>org.commonjava.maven.plugins</groupId><artifactId>directory-maven-plugin</artifactId><version>0.3.1</version><executions><execution><id>directories</id><goals><goal>directory-of</goal></goals><phase>initialize</phase><configuration><property>projectRoot</property><project><groupId>com.iluwatar</groupId><artifactId>java-design-patterns</artifactId></project></configuration></execution></executions></plugin><plugin><groupId>com.mycila</groupId><artifactId>license-maven-plugin</artifactId><version>3.0</version><configuration><header>com/mycila/maven/plugin/license/templates/MIT.txt</header><properties><owner>Ilkka Seppälä</owner></properties><skipExistingHeaders>true</skipExistingHeaders><headerDefinitions><headerDefinition>${projectRoot}${file.separator}license-plugin-header-style.xml</headerDefinition></headerDefinitions><mapping><java>SLASHSTAR_CUSTOM_STYLE</java></mapping><excludes><exclude>.github/FUNDING.yml</exclude></excludes></configuration><executions><execution><id>install-format</id><phase>install</phase><goals><goal>format</goal></goals></execution></executions></plugin><plugin><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>${jacoco.version}</version><executions><execution><id>prepare-agent</id><goals><goal>prepare-agent</goal></goals></execution><execution><id>report</id><goals><goal>report</goal></goals></execution></executions></plugin><plugin><groupId>com.iluwatar.urm</groupId><artifactId>urm-maven-plugin</artifactId><version>1.4.8</version><configuration><!-- if outputDirectory is not set explicitly it will default to your build dir --><outputDirectory>${project.basedir}/etc</outputDirectory><packages><param>com.iluwatar</param></packages><includeMainDirectory>true</includeMainDirectory><includeTestDirectory>false</includeTestDirectory><presenter>plantuml</presenter></configuration><executions><execution><phase>process-classes</phase><goals><goal>map</goal></goals></execution></executions></plugin></plugins></build><reporting><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jxr-plugin</artifactId><version>3.0.0</version></plugin></plugins></reporting></project>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。