dc3-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.github.pnoker</groupId> <artifactId>dc3-parent</artifactId> <version>2025.2.5</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- ~ Copyright 2016-present the IoT DC3 original author or authors. ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); ~ you may not use this file except in compliance with the License. ~ You may obtain a copy of the License at ~ ~ https://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, software ~ distributed under the License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~ See the License for the specific language governing permissions and ~ limitations under the License. --> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" 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>io.github.pnoker</groupId> <artifactId>dc3-parent</artifactId> <name>${project.artifactId}</name> <version>2025.2.5</version> <packaging>pom</packaging> <inceptionYear>2016-2024</inceptionYear> <url>https://github.com/pnoker/iot-dc3</url> <description> IoT DC3 is a 100% open-source, distributed Internet of Things (IoT) platform built on Spring Cloud. It accelerates IoT project development and simplifies IoT device management, offering a comprehensive solution for building robust IoT systems. All components and code are fully open-source, ensuring transparency, flexibility, and community-driven innovation. </description> <developers> <developer> <id>pnoker</id> <name>pnoker</name> <email>pnokers@gmail.com</email> <roles> <role>PMC</role> </roles> <organization>pnoker.github.io</organization> <url>https://github.com/pnoker/iot-dc3</url> </developer> </developers> <licenses> <license> <name>The Apache Software License, Version 2.0</name> <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> <scm> <url>https://github.com/pnoker/iot-dc3</url> <connection>https://github.com/pnoker/iot-dc3.git</connection> <developerConnection>https://github.com/pnoker/iot-dc3.git</developerConnection> </scm> <properties> <java.version>21</java.version> <maven.plugin.validation>VERBOSE</maven.plugin.validation> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- Spring related dependencies Updated on 2025.04.24, all latest --> <spring.boot.version>3.4.5</spring.boot.version> <spring.cloud.version>2024.0.1</spring.cloud.version> <!-- gRpc related dependencies Updated on 2025.04.24, only protobuf.version cannot use the latest version Because the tool that generates stub code has stopped being maintained. --> <grpc.version>1.72.0</grpc.version> <protobuf.version>4.29.3</protobuf.version> <grpc.spring.boot.version>3.1.0.RELEASE</grpc.spring.boot.version> <!-- Database related dependencies, When mybatis.plus.version is upgraded to 3.5.9, an error will be reported during compilation. Updated on 2025.04.24, all latest --> <tdengine.version>3.6.1</tdengine.version> <influxdb.version>7.2.0</influxdb.version> <elasticsearch.version>9.0.0</elasticsearch.version> <mybatis.plus.version>3.5.11</mybatis.plus.version> <!-- General tools --> <jwt.version>0.12.6</jwt.version> <okhttp.version>4.12.0</okhttp.version> <netty.version>4.2.0.Final</netty.version> <commons.io.version>2.18.0</commons.io.version> <jakarta.json.version>2.1.3</jakarta.json.version> <javax.annotation.version>1.3.2</javax.annotation.version> <jakarta.validation.version>3.1.1</jakarta.validation.version> <jakarta.annotation.version>3.0.0</jakarta.annotation.version> <hibernate.validator.version>8.0.1.Final</hibernate.validator.version> <lombok.version>1.18.38</lombok.version> <mapstruct.version>1.6.3</mapstruct.version> <lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version> <hutool.version>5.8.37</hutool.version> <guava.version>33.4.8-jre</guava.version> <!-- Other dependencies --> <spring-oauth2.version>2.5.2.RELEASE</spring-oauth2.version> <spring.cloud.nacos.version>2023.0.3.2</spring.cloud.nacos.version> <nacos.client.version>2.4.3</nacos.client.version> <micrometer.version>1.14.3</micrometer.version> <freemarker.version>2.3.34</freemarker.version> <apache.poi.version>5.4.1</apache.poi.version> <apache.commons.version>1.27.1</apache.commons.version> <activation.version>2.1.3</activation.version> <xxl.job.version>3.0.0</xxl.job.version> <jna.version>5.17.0</jna.version> <oshi.version>6.8.1</oshi.version> <milo.version>0.6.16</milo.version> <paho.mqttv3.version>1.2.5</paho.mqttv3.version> <bouncycastle.version>1.80</bouncycastle.version> <jackson.version>2.18.3</jackson.version> <jaxb.api.version>2.3.1</jaxb.api.version> <jaxb.version>4.0.5</jaxb.version> <snakeyaml.version>2.4</snakeyaml.version> <!-- J-Interop version J-Interop is a Java library that enables Java applications to communicate with DCOM (Distributed Component Object Model) services running on Microsoft Windows platforms. It provides pure Java implementation of DCOM protocol. Updated on 2025.04.24, all latest, do not update to 3.0.0 or it will cause errors --> <j.interop.version>2.0.4</j.interop.version> <!-- OS Plugin related dependencies Updated on 2025.04.24, all latest --> <os.maven.plugin.version>1.7.1</os.maven.plugin.version> <!-- Plugin related dependencies Updated on 2025.04.24, all latest --> <protobuf.plugin.version>0.6.1</protobuf.plugin.version> <graalvm.native.version>0.10.6</graalvm.native.version> <maven.gpg.plugin>3.2.7</maven.gpg.plugin> <maven.source.plugin>3.3.1</maven.source.plugin> <maven.javadoc.plugin>3.11.2</maven.javadoc.plugin> <maven.compiler.plugin>3.13.0</maven.compiler.plugin> <maven.resource.plugin>3.3.1</maven.resource.plugin> <maven.dependency.plugin>3.8.1</maven.dependency.plugin> <maven.version.plugin>2.18.0</maven.version.plugin> <maven.nexus.plugin.version>1.7.0</maven.nexus.plugin.version> </properties> <profiles> <profile> <id>version</id> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> </plugin> </plugins> </build> </profile> <profile> <id>native</id> <build> <plugins> <plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> </plugin> </plugins> </build> </profile> <profile> <id>deploy</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> </plugin> </plugins> </build> <distributionManagement> <repository> <id>pnoker</id> <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> <snapshotRepository> <id>pnoker</id> <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> </profile> </profiles> <dependencies> <!-- Spring Boot Configuration--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> <!-- Spring Boot Test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- Slf4j Api --> <!-- Please do not configure or upgrade this version, otherwise an error will be reported when logging is started. --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <!-- Jakarta Annotation Api --> <dependency> <groupId>jakarta.annotation</groupId> <artifactId>jakarta.annotation-api</artifactId> </dependency> <!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!-- MapStruct --> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <!-- Spring Boot dependencies --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring.boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- Spring Cloud dependencies --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring.cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- gRpc related dependencies --> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-bom</artifactId> <version>${grpc.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty</artifactId> <version>${grpc.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-protobuf</artifactId> <version>${grpc.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-stub</artifactId> <version>${grpc.version}</version> </dependency> <!-- Protobuf related dependencies --> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>${protobuf.version}</version> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> <version>${protobuf.version}</version> </dependency> <!-- gRpc Spring Boot related dependencies --> <dependency> <groupId>net.devh</groupId> <artifactId>grpc-spring-boot-starter</artifactId> <version>${grpc.spring.boot.version}</version> </dependency> <dependency> <groupId>net.devh</groupId> <artifactId>grpc-server-spring-boot-starter</artifactId> <version>${grpc.spring.boot.version}</version> </dependency> <dependency> <groupId>net.devh</groupId> <artifactId>grpc-client-spring-boot-starter</artifactId> <version>${grpc.spring.boot.version}</version> </dependency> <!-- TDEngine --> <dependency> <groupId>com.taosdata.jdbc</groupId> <artifactId>taos-jdbcdriver</artifactId> <version>${tdengine.version}</version> </dependency> <!-- InfluxDB --> <dependency> <groupId>com.influxdb</groupId> <artifactId>influxdb-client-java</artifactId> <version>${influxdb.version}</version> </dependency> <!-- Elasticsearch --> <dependency> <groupId>co.elastic.clients</groupId> <artifactId>elasticsearch-java</artifactId> <version>${elasticsearch.version}</version> </dependency> <!-- Mybatis Plus related dependencies --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-core</artifactId> <version>${mybatis.plus.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifactId> <version>${mybatis.plus.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-annotation</artifactId> <version>${mybatis.plus.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>${mybatis.plus.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-jsqlparser</artifactId> <version>${mybatis.plus.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>${mybatis.plus.version}</version> </dependency> <!-- Jwt --> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>${jwt.version}</version> </dependency> <!-- Ok Http related dependencies --> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>${okhttp.version}</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>logging-interceptor</artifactId> <version>${okhttp.version}</version> </dependency> <!-- Netty related dependencies --> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>${netty.version}</version> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-resolver-dns-native-macos</artifactId> <version>${netty.version}</version> <scope>runtime</scope> </dependency> <!-- Commons IO --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons.io.version}</version> </dependency> <!-- Jakarta related dependencies - Standard API for processing JSON (JavaScript Object Notation) data - Standard API for data validation and constraint validation --> <dependency> <groupId>jakarta.json</groupId> <artifactId>jakarta.json-api</artifactId> <version>${jakarta.json.version}</version> </dependency> <dependency> <groupId>jakarta.validation</groupId> <artifactId>jakarta.validation-api</artifactId> <version>${jakarta.validation.version}</version> </dependency> <!-- Jakarta Annotation Api --> <dependency> <groupId>jakarta.annotation</groupId> <artifactId>jakarta.annotation-api</artifactId> <version>${jakarta.annotation.version}</version> </dependency> <!-- Javax Annotation Api --> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>${javax.annotation.version}</version> </dependency> <!-- Hibernate Validator Hibernate Validator is a Java Bean validation framework for data validation and constraint validation in Java applications --> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>${hibernate.validator.version}</version> </dependency> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator-cdi</artifactId> <version>${hibernate.validator.version}</version> </dependency> <!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> <!-- MapStruct --> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>${mapstruct.version}</version> <scope>provided</scope> </dependency> <!-- Lombok MapStruct Binding --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok-mapstruct-binding</artifactId> <version>${lombok-mapstruct-binding.version}</version> <scope>provided</scope> </dependency> <!-- HuTool --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>${hutool.version}</version> </dependency> <!-- Guava --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> </dependency> <!-- Security OAuth2--> <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> <version>${spring-oauth2.version}</version> </dependency> <!-- Spring Cloud Nacos Client --> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>${nacos.client.version}</version> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>${spring.cloud.nacos.version}</version> </dependency> <!-- Micrometer --> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version>${micrometer.version}</version> </dependency> <!-- Freemarker --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>${freemarker.version}</version> </dependency> <!-- Apache Poi related dependencies --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>${apache.poi.version}</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>${apache.poi.version}</version> </dependency> <!-- Apache Commons related dependencies --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>${apache.commons.version}</version> </dependency> <!-- Jakarta Activation API is a Java API for activating various MIME types --> <dependency> <groupId>jakarta.activation</groupId> <artifactId>jakarta.activation-api</artifactId> <version>${activation.version}</version> </dependency> <!-- XXL JOB --> <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>${xxl.job.version}</version> </dependency> <!-- Java Native Access related dependencies --> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${jna.version}</version> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> <version>${jna.version}</version> </dependency> <!-- Operating System and Hardware Information --> <dependency> <groupId>com.github.oshi</groupId> <artifactId>oshi-core</artifactId> <version>${oshi.version}</version> </dependency> <!-- OPC UA related dependencies --> <dependency> <groupId>org.eclipse.milo</groupId> <artifactId>sdk-client</artifactId> <version>${milo.version}</version> </dependency> <!-- Mqtt related dependencies --> <dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId> <version>${paho.mqttv3.version}</version> </dependency> <dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.mqttv5.client</artifactId> <version>${paho.mqttv3.version}</version> </dependency> <!-- Bouncy Castle Provider Used to provide Java cryptography related functions It is a popular open source cryptographic library that provides many cryptography-related algorithms and functions, such as symmetric encryption algorithms, asymmetric encryption algorithms, hash functions, digital signatures, certificate generation, etc. --> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> <!-- Java COM related, used to communicate with DCOM (Distributed Component Object Model) services running on Microsoft Windows platforms DCOM (Distributed Component Object Model) is a remote procedure call (RPC) technology developed by Microsoft for inter-component communication across networks on Windows systems. --> <dependency> <groupId>org.jinterop</groupId> <artifactId>j-interop</artifactId> <version>${j.interop.version}</version> </dependency> <!-- Jackson related dependencies --> <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-annotations</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.dataformat</groupId> <artifactId>jackson-dataformat-yaml</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jdk8</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-parameter-names</artifactId> <version>${jackson.version}</version> </dependency> <!-- JAXB(Java Architecture for XML Binding)API related dependencies - API for converting XML data to and from Java objects - Used to perform binding operations on XML data at runtime - Binding operations to support XML data --> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>${jaxb.api.version}</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>${jaxb.version}</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> <version>${jaxb.version}</version> </dependency> <!-- Java Yaml related dependencies SnakeYAML is a Java library for parsing and generating data in YAML (YAML Ain't Markup Language) format --> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>${snakeyaml.version}</version> </dependency> </dependencies> </dependencyManagement> <build> <finalName>${project.artifactId}</finalName> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> </plugin> </plugins> <pluginManagement> <plugins> <!-- Spring Boot Maven plugin --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring.boot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <!-- Protobuf plugin --> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>${protobuf.plugin.version}</version> <configuration> <pluginId>grpc-java</pluginId> <protoSourceRoot>src/main/protobuf</protoSourceRoot> <!--suppress UnresolvedMavenProperty --> <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier} </protocArtifact> <!--suppress UnresolvedMavenProperty --> <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier} </pluginArtifact> </configuration> <executions> <execution> <goals> <goal>compile</goal> <goal>compile-custom</goal> </goals> </execution> </executions> </plugin> <!-- Graalvm plugin --> <plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> <version>${graalvm.native.version}</version> <executions> <execution> <id>build-native</id> <goals> <goal>compile-no-fork</goal> </goals> <phase>package</phase> </execution> </executions> </plugin> <!-- GPG plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${maven.gpg.plugin}</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <keyname>pnoker</keyname> </configuration> </execution> </executions> </plugin> <!-- Source Plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${maven.source.plugin}</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <!-- Javadoc plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven.javadoc.plugin}</version> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <!-- Compile plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven.compiler.plugin}</version> <configuration> <parameters>true</parameters> <target>${java.version}</target> <source>${java.version}</source> <encoding>${project.build.sourceEncoding}</encoding> <compilerArgs> <arg>-parameters</arg> </compilerArgs> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${mapstruct.version}</version> </path> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok-mapstruct-binding</artifactId> <version>${lombok-mapstruct-binding.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> <!-- Filter file plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${maven.resource.plugin}</version> <configuration> <nonFilteredFileExtensions> <nonFilteredFileExtension>ico</nonFilteredFileExtension> <nonFilteredFileExtension>db</nonFilteredFileExtension> <nonFilteredFileExtension>key</nonFilteredFileExtension> <nonFilteredFileExtension>crt</nonFilteredFileExtension> <nonFilteredFileExtension>p12</nonFilteredFileExtension> <nonFilteredFileExtension>proto</nonFilteredFileExtension> <nonFilteredFileExtension>json</nonFilteredFileExtension> <nonFilteredFileExtension>xls</nonFilteredFileExtension> <nonFilteredFileExtension>xlsx</nonFilteredFileExtension> </nonFilteredFileExtensions> </configuration> </plugin> <!-- Maven Dependency plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>${maven.dependency.plugin}</version> <executions> <execution> <id>display-dependency-tree</id> <phase>verify</phase> <goals> <goal>tree</goal> </goals> </execution> </executions> </plugin> <!-- Maven Version plugin --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>${maven.version.plugin}</version> <executions> <execution> <phase>verify</phase> <goals> <goal>display-plugin-updates</goal> <goal>display-property-updates</goal> </goals> </execution> </executions> </plugin> <!-- Nexus Maven plugin --> <plugin> <groupId>org.sonatype.</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>${maven.nexus.plugin.version}</version> <extensions>true</extensions> <configuration> <serverId>pnoker</serverId> <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> </plugins> </pluginManagement> </build> </project>