All Downloads are FREE. Search and download functionalities are using the official Maven repository.

archetype-resources.pom.xml Maven / Gradle / Ivy

The newest version!
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
<?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>${package}</groupId>
    <artifactId>${artifactId}</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>${artifactId}</name>
    <description>Spring and JDBI web archetype</description>
    <url>https://github.com/kentyeh/${artifactId}</url>
    
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <maven.compiler.release>17</maven.compiler.release>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <maven.compiler.optimize>true</maven.compiler.optimize>
        <spring.version>6.1.3</spring.version>
        <spring.security.version>6.2.1</spring.security.version>
        <log4j.version>2.22.1</log4j.version> 
        <disruptor.version>3.4.4</disruptor.version>
        <jdbi.version>3.43.0</jdbi.version>
        <validator.version>8.0.1.Final</validator.version>
        <cucumber.version>7.15.0</cucumber.version>
        <h2.version>2.2.224</h2.version>
        <maven.test.skip>false</maven.test.skip>
        <surefire.version>3.2.5</surefire.version>
        <spotbugs.version>4.8.3.0</spotbugs.version>
        <pmd.version>3.21.2</pmd.version>
        <jacoco.version>0.8.11</jacoco.version>
        <ee.ver>10</ee.ver>
        <jetty.version>12.0.5</jetty.version>
        <alpn.version>8.1.13.v20181017</alpn.version>
        <aspectj.version>1.9.21</aspectj.version>
        <jndi.dsname>jdbc/${symbol_dollar}{project.artifactId}</jndi.dsname>
        <test.http.port>${HTTP_PORT}</test.http.port>
        <jetty.stoport>9966</jetty.stoport>
        <testCaptcha>jDbi</testCaptcha>
    </properties>
    
    <licenses>
        <license>
            <name>Apache 2</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
        </license>
    </licenses>
    <developers>
        <developer>
            <id>yes2000</id>
            <name>Kent Yeh</name>
            <email>[email protected]</email>
            <url>https://github.com/kentyeh</url>
            <roles>
                <role>architect</role>
                <role>developer</role>
            </roles>
            <timezone>+8</timezone>
            <properties>
                <picUrl>http://lh3.googleusercontent.com/-riyCbTcpYdo/AAAAAAAAAAI/AAAAAAAAAAA/47MhS2LUlZo/s48-c-k/photo.jpg</picUrl>
            </properties>
        </developer>
    </developers>
    
    <!--Defaine your Srouce Management,設定源碼版本管理-->
    <scm>
        <url>[email protected]:kentyeh/${artifactId}.git</url>
        <connection>scm:git:[email protected]:kentyeh/${artifactId}.git</connection>
        <developerConnection>scm:git:[email protected]:kentyeh/${artifactId}.git</developerConnection>
    </scm>
    
    <dependencies>
        <!--Log4j2 start-->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${symbol_dollar}{log4j.version}</version> 
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-1.2-api</artifactId>
            <version>${symbol_dollar}{log4j.version}</version> 
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>${symbol_dollar}{log4j.version}</version> 
        </dependency>
        <dependency>
            <groupId>com.lmax</groupId>
            <artifactId>disruptor</artifactId>
            <version>${symbol_dollar}{disruptor.version}</version>
        </dependency>
        <!--Log4j2 end-->
        <!--Spring start-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${symbol_dollar}{spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${symbol_dollar}{spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${symbol_dollar}{spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${symbol_dollar}{spring.version}</version>
        </dependency>
        <!--Spring end-->
        <dependency>
            <groupId>org.jdbi</groupId>
            <artifactId>jdbi3-core</artifactId>
            <version>${symbol_dollar}{jdbi.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jdbi</groupId>
            <artifactId>jdbi3-sqlobject</artifactId>
            <version>${symbol_dollar}{jdbi.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jdbi</groupId>
            <artifactId>jdbi3-spring5</artifactId>
            <version>${symbol_dollar}{jdbi.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-beans</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-jdbc</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-tx</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.jdbi</groupId>
            <artifactId>jdbi3-stringtemplate4</artifactId>
            <version>${symbol_dollar}{jdbi.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.16.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
            <version>2.16.0</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>${symbol_dollar}{validator.version}</version>
        </dependency>
        <!--hibernate-validator require expressly-->
        <dependency>
            <groupId>org.glassfish.expressly</groupId>
            <artifactId>expressly</artifactId>
            <version>5.0.0</version>
        </dependency>
        <!--Cache-->
        <dependency>
            <groupId>com.github.ben-manes.caffeine</groupId>
            <artifactId>caffeine</artifactId>
            <version>3.1.8</version>
        </dependency>
        
        <!--Tomcat 11 rquired start-->
        <dependency>
            <!--https://repo1.maven.org/maven2/jakarta/el/jakarta.el-api/5.0.1/jakarta.el-api-5.0.1.jar-->
            <groupId>jakarta.el</groupId>
            <artifactId>jakarta.el-api</artifactId>
            <version>5.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <!--https://repo1.maven.org/maven2/jakarta/validation/jakarta.validation-api/3.0.2/jakarta.validation-api-3.0.2.jar-->
            <groupId>jakarta.validation</groupId>
            <artifactId>jakarta.validation-api</artifactId>
            <version>3.0.2</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <!--https://repo1.maven.org/maven2/jakarta/servlet/jsp/jstl/jakarta.servlet.jsp.jstl-api/3.0.0/jakarta.servlet.jsp.jstl-api-3.0.0.jar-->
            <groupId>jakarta.servlet.jsp.jstl</groupId>
            <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
            <version>3.0.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <!--https://repo1.maven.org/maven2/org/glassfish/web/jakarta.servlet.jsp.jstl/3.0.1/jakarta.servlet.jsp.jstl-3.0.1.jar-->
            <groupId>org.glassfish.web</groupId>
            <artifactId>jakarta.servlet.jsp.jstl</artifactId>
            <version>3.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>6.0.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <!--https://repo1.maven.org/maven2/jakarta/servlet/jsp/jakarta.servlet.jsp-api/3.1.1/jakarta.servlet.jsp-api-3.1.1.jar-->
            <groupId>jakarta.servlet.jsp</groupId>
            <artifactId>jakarta.servlet.jsp-api</artifactId>
            <version>3.1.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <!-- https://repo1.maven.org/maven2/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar -->
            <groupId>jakarta.annotation</groupId>
            <artifactId>jakarta.annotation-api</artifactId>
            <version>2.1.1</version>
        </dependency>
        <!--Tomcat 11 rquired end-->
        <!--Database End-->
        
        <!--Spring Security start-->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>${symbol_dollar}{spring.security.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
            <version>${symbol_dollar}{spring.security.version}</version>
        </dependency>
        <!--Spring Security end-->
        <!--Webjar start-->
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>webjars-locator</artifactId>
            <version>0.50</version>
        </dependency>
        <dependency>
            <groupId>org.webjars.npm</groupId>
            <artifactId>purecss</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>jquery</artifactId>
            <version>3.7.1</version>
        </dependency>
        <!--Webjars dependencies end-->
        <dependency>
            <groupId>org.ligoj</groupId>
            <artifactId>simplecaptcha</artifactId>
            <version>2.0.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.ligoj.bootstrap</groupId>
                    <artifactId>bootstrap-business</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--Test library dependencies -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${symbol_dollar}{spring.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <version>${symbol_dollar}{spring.security.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.9.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>${symbol_dollar}{cucumber.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-testng</artifactId>
            <version>${symbol_dollar}{cucumber.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-spring</artifactId>
            <version>${symbol_dollar}{cucumber.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>${symbol_dollar}{h2.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <version>3.25.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.skyscreamer</groupId>
            <artifactId>jsonassert</artifactId>
            <version>1.5.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.htmlunit</groupId>
            <artifactId>htmlunit</artifactId>
            <version>3.10.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <prerequisites>
        <maven>3.2.5</maven>
    </prerequisites> 
    <build>
        <finalName>${symbol_dollar}{project.artifactId}</finalName>
        <resources>
            <resource>
                <directory>${symbol_dollar}{basedir}/src/main/resources</directory>
                <filtering>true</filtering>
                <excludes>
                    <exclude>**/*.jpg</exclude>
                    <exclude>**/*.png</exclude>
                    <exclude>**/*.gif</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>${symbol_dollar}{basedir}/src/main/resources</directory>
                <filtering>false</filtering>
                <includes>
                    <include>**/*.jpg</include>
                    <include>**/*.png</include>
                    <include>**/*.gif</include>
                </includes>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>${symbol_dollar}{basedir}/src/test/resources</directory>
                <filtering>true</filtering> 
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.11.0</version>
                <configuration>
                    <source>${symbol_dollar}{maven.compiler.source}</source>
                    <target>${symbol_dollar}{maven.compiler.target}</target>
                    <showDeprecation>true</showDeprecation>
                    <optimize>true</optimize>
                    <verbose>false</verbose>
                    <compilerArgs>
                        <arg>-parameters</arg>
                    </compilerArgs>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.4.0</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <webXml>${symbol_dollar}{project.build.testOutputDirectory}/web.xml</webXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${symbol_dollar}{surefire.version}</version>
                <configuration>
                    <skip>false</skip>
                    <testFailureIgnore>true</testFailureIgnore>
                    <disableXmlReport>true</disableXmlReport>
                    <systemPropertyVariables>
                        <catalina.home>${symbol_dollar}{project.build.directory}</catalina.home>
                        <spring.profiles.active>develop</spring.profiles.active>
                        <org.jboss.logging.provider>log4j2</org.jboss.logging.provider>
                    </systemPropertyVariables>
                    <parallel>classes</parallel>
                    <suiteXmlFiles>
                        <suiteXmlFile>${symbol_dollar}{project.build.testOutputDirectory}/testng-unit.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>${symbol_dollar}{surefire.version}</version>
                <executions>
                    <execution>
                        <id>integration-test</id>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>verify</id>
                        <goals>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <systemProperties>  
                        <catalina.home>${symbol_dollar}{project.build.directory}</catalina.home>
                        <spring.profiles.active>develop</spring.profiles.active>
                        <org.jboss.logging.provider>log4j2</org.jboss.logging.provider>
                    </systemProperties>
                    <suiteXmlFiles>
                        <suiteXmlFile>${symbol_dollar}{project.build.testOutputDirectory}/testng-integration.xml</suiteXmlFile>
                    </suiteXmlFiles>
                    <includes>
                        <include>**/Test*.java</include>
                    </includes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>net.masterthought</groupId>
                <artifactId>maven-cucumber-reporting</artifactId>
                <version>5.7.8</version>
                <executions>
                    <execution>
                        <id>execution</id>
                        <phase>test</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <projectName>${symbol_dollar}{project.name}</projectName>
                            <outputDirectory>${symbol_dollar}{project.build.directory}/site/cucumber-reports</outputDirectory>
                            <inputDirectory>${symbol_dollar}{project.build.directory}/cucumber-reports</inputDirectory>
                            <jsonFiles>
                                <param>cucumber.json</param>
                            </jsonFiles>
                            <mergeFeaturesById>false</mergeFeaturesById>
                            <mergeFeaturesWithRetest>false</mergeFeaturesWithRetest>
                            <checkBuildResult>false</checkBuildResult>
                            <skip>${symbol_dollar}{skipTests}</skip>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>za.co.absa.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${symbol_dollar}{jacoco.version}</version>
                <executions>
                    <execution>
                        <id>pre-test</id>
                        <phase>process-test-classes</phase>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>post-test</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${symbol_dollar}{project.build.directory}/site/jacoco-ut</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>pre-integration-test</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>prepare-agent-integration</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report-integration</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>report-integration</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${symbol_dollar}{project.build.directory}/site/jacoco-it</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjtools</artifactId>
                        <version>${symbol_dollar}{aspectj.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>${symbol_dollar}{aspectj.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjrt</artifactId>
                        <version>${symbol_dollar}{aspectj.version}</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <excludes>
                        <exclude>com/gargoylesoftware/htmlunit/**</exclude>
                        <exclude>com/gargoylesoftware/css/parser/**</exclude>
                        <!--<exclude>com/steadystate/**</exclude>-->
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs-maven-plugin</artifactId>
                <version>${symbol_dollar}{spotbugs.version}</version>
                <executions>
                    <execution>
                        <id>spotbugs-verify</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>com.payneteasy</groupId>
                        <artifactId>ber-tlv</artifactId>
                        <version>1.0-11</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <plugins>
                        <plugin>
                            <!-- For Security Check .安全性檢查-->
                            <groupId>com.h3xstream.findsecbugs</groupId>
                            <artifactId>findsecbugs-plugin</artifactId>
                            <version>1.12.0</version>
                        </plugin>
                    </plugins>
                    <failOnError>false</failOnError>
                    <effort>Max</effort>
                    <fork>false</fork>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.eclipse.jetty.ee${symbol_dollar}{ee.ver}</groupId>
                <artifactId>jetty-ee${symbol_dollar}{ee.ver}-maven-plugin</artifactId>
                <version>${symbol_dollar}{jetty.version}</version>
                <executions>
                    <execution>
                        <id>start-jetty</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>start</goal>
                        </goals>
                        <configuration>
                            <systemProperties>
                                <captcha>${symbol_dollar}{testCaptcha}</captcha>
                                <catalina.home>${symbol_dollar}{project.build.directory}</catalina.home>
                                <org.eclipse.jetty.server.Request.maxFormContentSize>
                                    -1
                                </org.eclipse.jetty.server.Request.maxFormContentSize>
                            </systemProperties>
                        </configuration>   
                    </execution>
                    <execution>
                        <id>stop-jetty</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>stop</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.mortbay.jetty.alpn</groupId>
                        <artifactId>alpn-boot</artifactId>
                        <version>${symbol_dollar}{alpn.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.eclipse.jetty.ee${symbol_dollar}{ee.ver}</groupId>
                        <artifactId>jetty-ee${symbol_dollar}{ee.ver}-jndi</artifactId>
                        <version>${symbol_dollar}{jetty.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.jboss.logmanager</groupId>
                        <artifactId>log4j-jboss-logmanager</artifactId>
                        <version>1.3.0.Final</version>
                        <exclusions>
                            <exclusion>
                                <groupId>org.jboss.logmanager</groupId>
                                <artifactId>jboss-logmanager</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                    <dependency>
                        <groupId>org.conscrypt</groupId>
                        <artifactId>conscrypt-openjdk-uber</artifactId>
                        <version>2.5.2</version>
                    </dependency>
                    <dependency>
                        <groupId>com.h2database</groupId>
                        <artifactId>h2</artifactId>
                        <version>${symbol_dollar}{h2.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>jakarta.platform</groupId>
                        <artifactId>jakarta.jakartaee-api</artifactId>
                        <version>10.0.0</version>
                    </dependency>
                    <dependency>
                        <groupId>org.apache.tomee</groupId>
                        <artifactId>openejb-core</artifactId>
                        <version>9.1.1</version>
                        <exclusions>
                            <exclusion>
                                <groupId>org.apache.tomee</groupId>
                                <artifactId>jakartaee-api</artifactId>
                            </exclusion>
                            <exclusion>
                                <groupId>commons-logging</groupId>
                                <artifactId>commons-logging</artifactId>
                            </exclusion>
                            <exclusion>
                                <groupId>org.hsqldb</groupId>
                                <artifactId>hsqldb</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                </dependencies>
                <configuration>
                    <systemProperties>
                        <org.jboss.logging.provider>log4j2</org.jboss.logging.provider>
                        <catalina.home>${symbol_dollar}{project.build.directory}</catalina.home>
                        <org.eclipse.jetty.server.Request.maxFormContentSize>
                            -1
                        </org.eclipse.jetty.server.Request.maxFormContentSize>
                        <h2.bindAddress>0.0.0.0</h2.bindAddress>
                    </systemProperties>
                    <jvmArgs>
                        -Xbootclasspath/p:${symbol_dollar}{settings.localRepository}/org/mortbay/jetty/alpn/alpn-boot/${symbol_dollar}{alpn.version}/alpn-boot-${symbol_dollar}{alpn.version}.jar
                    </jvmArgs>
                    <webApp>
                        <contextPath>/${symbol_dollar}{project.artifactId}</contextPath>
                        <jettyEnvXml>${symbol_dollar}{project.build.testOutputDirectory}/jetty-env.xml</jettyEnvXml>
                        <descriptor>${symbol_dollar}{project.build.testOutputDirectory}/web.xml</descriptor>
                    </webApp>
                    <httpConnector>
                        <port>${symbol_dollar}{test.http.port}</port>
                    </httpConnector>
                    <stopKey>HALT</stopKey>
                    <stopPort>${symbol_dollar}{jetty.stoport}</stopPort>
                </configuration>
            </plugin>
            <!--Site Report Configuration,報表管理-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.12.1</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.doxia</groupId>
                        <artifactId>doxia-module-markdown</artifactId>
                        <version>1.12.0</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <locales>zh_TW</locales>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.4.1</version>
                <executions>
                    <execution>
                        <id>enforce-bytecode-version</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <enforceBytecodeVersion>
                                    <maxJdkVersion>17</maxJdkVersion>
                                    <excludes>
                                        <exclude>org.mindrot:jbcrypt</exclude>
                                    </excludes>
                                </enforceBytecodeVersion>
                            </rules>
                            <fail>true</fail>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>extra-enforcer-rules</artifactId>
                        <version>1.7.0</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>3.5.0</version>
                <configuration>
                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.12.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>3.4.5</version>
                <configuration>
                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>3.3.2</version>
                <configuration>
                    <aggregate>true</aggregate>
                </configuration>
                <reportSets>
                    <reportSet>
                        <id>aggregate</id>
                        <inherited>false</inherited>
                        <reports>
                            <report>aggregate</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.6.3</version>
                <configuration>
                    <locale>zh_TW</locale>
                    <aggregate>true</aggregate>
                    <minmemory>128m</minmemory>
                    <maxmemory>512</maxmemory>
                    <breakiterator>true</breakiterator>
                    <failOnError>false</failOnError>
                    <quiet>true</quiet>
                    <source>${symbol_dollar}{maven.compiler.source}</source>
                    <verbose>false</verbose>
                    <linksource>true</linksource>
                    <doclint>accessibility,html,reference,syntax</doclint>
                    <source>${symbol_dollar}{maven.compiler.source}</source>
                    <additionalparam>-Xdoclint:none</additionalparam>
                    <links>
                        <link>https://docs.spring.io/spring-framework/docs/current/javadoc-api/</link>
                        <link>https://docs.spring.io/spring-security/site/docs/current/api/</link>
                        <link>https://jdbi.org/apidocs/</link>
                        <link>https://logging.apache.org/log4j/2.x/log4j-api/apidocs/</link>
                        <link>https://logging.apache.org/log4j/2.x/log4j-core/apidocs/</link>
                        <link>https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/latest/</link>
                        <link>https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/latest/</link>
                        <!--Jdbi3 support element-list and no more package-list-->
                    </links>
                    <javaApiLinks>
                        <property>
                            <name>api_17</name>
                            <value>https://docs.oracle.com/en/java/javase/21/docs/api/</value>
                        </property>
                    </javaApiLinks>
                    <additionalJOptions>-J-Dhttp.agent=maven-javadoc-plugin-${symbol_dollar}{pom‌​.name}</additionalJOptions>
                    <additionalJOptions>--allow-script-in-comments</additionalJOptions>
                    <doctitle>${symbol_dollar}{project.name}</doctitle>
                    <windowtitle>${symbol_dollar}{project.name} API</windowtitle>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>${symbol_dollar}{surefire.version}</version>
                <configuration>
                    <junitReport>true</junitReport>
                    <exportAll>true</exportAll>
                </configuration>
                <reportSets>
                    <reportSet>
                        <id>integration-tests</id>
                        <reports>
                            <!--**-only means generate report contains last test result.-->
                            <report>report-only</report>
                            <report>failsafe-report-only</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>${symbol_dollar}{pmd.version}</version>
                <configuration>
                    <failOnViolation>false</failOnViolation>
                    <linkXref>true</linkXref>
                    <sourceEncoding>${symbol_dollar}{project.build.sourceEncoding}</sourceEncoding>
                    <minimumTokens>100</minimumTokens><!--minimun token duplicated think as source duplicated-->
                    <targetJdk>${symbol_dollar}{maven.compiler.target}</targetJdk>
                    <verbose>true</verbose>
                </configuration>
                <reportSets>
                    <reportSet>
                        <!-- by default, id = "default" -->
                        <reports>
                            <!-- select non-aggregate reports -->
                            <report>pmd</report>
                        </reports>
                    </reportSet>
                    <reportSet>
                        <!-- aggregate reportSet, to define in poms having modules -->
                        <id>aggregate</id>
                        <inherited>false</inherited>
                        <!-- don't run aggregate in child modules -->
                        <reports>
                            <report>aggregate-pmd</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>3.3.1</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>checkstyle</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>za.co.absa.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${symbol_dollar}{jacoco.version}</version>
                <configuration>
                    <reportSet>
                        <id>jacoco-report</id>
                        <reports>
                            <report>report-aggregate</report>
                        </reports>
                    </reportSet>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs-maven-plugin</artifactId>
                <version>${symbol_dollar}{spotbugs.version}</version>
                <configuration>
                    <failOnError>false</failOnError>
                    <xmlOutputDirectory>${symbol_dollar}{project.build.directory}/site</xmlOutputDirectory>
                    <effort>Max</effort><!--Detect Level:Min,Default or Max-->
                    <fork>false</fork>
                </configuration>
            </plugin>
        </plugins>
    </reporting>
</project>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy