412 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			412 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<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.baeldung</groupId>
 | 
						|
    <artifactId>core-java-arrays</artifactId>
 | 
						|
    <version>0.1.0-SNAPSHOT</version>
 | 
						|
    <name>core-java-arrays</name>
 | 
						|
    <packaging>jar</packaging>
 | 
						|
 | 
						|
    <parent>
 | 
						|
        <groupId>com.baeldung</groupId>
 | 
						|
        <artifactId>parent-java</artifactId>
 | 
						|
        <version>0.0.1-SNAPSHOT</version>
 | 
						|
        <relativePath>../../parent-java</relativePath>
 | 
						|
    </parent>
 | 
						|
 | 
						|
    <dependencies>
 | 
						|
        <dependency>
 | 
						|
            <groupId>org.apache.commons</groupId>
 | 
						|
            <artifactId>commons-lang3</artifactId>
 | 
						|
            <version>${commons-lang3.version}</version>
 | 
						|
        </dependency>
 | 
						|
        <dependency>
 | 
						|
            <groupId>log4j</groupId>
 | 
						|
            <artifactId>log4j</artifactId>
 | 
						|
            <version>${log4j.version}</version>
 | 
						|
        </dependency>
 | 
						|
        <dependency> <!-- needed to bridge to slf4j for projects that use the log4j APIs directly -->
 | 
						|
            <groupId>org.slf4j</groupId>
 | 
						|
            <artifactId>log4j-over-slf4j</artifactId>
 | 
						|
            <version>${org.slf4j.version}</version>
 | 
						|
        </dependency>
 | 
						|
        <!-- test scoped -->
 | 
						|
        <dependency>
 | 
						|
            <groupId>org.assertj</groupId>
 | 
						|
            <artifactId>assertj-core</artifactId>
 | 
						|
            <version>${assertj-core.version}</version>
 | 
						|
            <scope>test</scope>
 | 
						|
        </dependency>
 | 
						|
        <dependency>
 | 
						|
            <groupId>org.openjdk.jmh</groupId>
 | 
						|
            <artifactId>jmh-core</artifactId>
 | 
						|
            <version>${jmh-core.version}</version>
 | 
						|
        </dependency>
 | 
						|
        <dependency>
 | 
						|
            <groupId>org.openjdk.jmh</groupId>
 | 
						|
            <artifactId>jmh-generator-annprocess</artifactId>
 | 
						|
            <version>${jmh-generator-annprocess.version}</version>
 | 
						|
        </dependency>
 | 
						|
        <dependency>
 | 
						|
            <groupId>org.springframework</groupId>
 | 
						|
            <artifactId>spring-web</artifactId>
 | 
						|
            <version>${springframework.spring-web.version}</version>
 | 
						|
        </dependency>
 | 
						|
    </dependencies>
 | 
						|
 | 
						|
    <build>
 | 
						|
        <finalName>core-java-arrays</finalName>
 | 
						|
        <resources>
 | 
						|
            <resource>
 | 
						|
                <directory>src/main/resources</directory>
 | 
						|
                <filtering>true</filtering>
 | 
						|
            </resource>
 | 
						|
        </resources>
 | 
						|
 | 
						|
        <plugins>
 | 
						|
            <plugin>
 | 
						|
                <groupId>org.apache.maven.plugins</groupId>
 | 
						|
                <artifactId>maven-surefire-plugin</artifactId>
 | 
						|
                <configuration>
 | 
						|
                    <excludes>
 | 
						|
                        <exclude>**/*LiveTest.java</exclude>
 | 
						|
                        <exclude>**/*IntegrationTest.java</exclude>
 | 
						|
                        <exclude>**/*IntTest.java</exclude>
 | 
						|
                        <exclude>**/*LongRunningUnitTest.java</exclude>
 | 
						|
                        <exclude>**/*ManualTest.java</exclude>
 | 
						|
                    </excludes>
 | 
						|
                    <testFailureIgnore>true</testFailureIgnore>
 | 
						|
                </configuration>
 | 
						|
            </plugin>
 | 
						|
 | 
						|
            <plugin>
 | 
						|
                <groupId>org.apache.maven.plugins</groupId>
 | 
						|
                <artifactId>maven-dependency-plugin</artifactId>
 | 
						|
                <executions>
 | 
						|
                    <execution>
 | 
						|
                        <id>copy-dependencies</id>
 | 
						|
                        <phase>prepare-package</phase>
 | 
						|
                        <goals>
 | 
						|
                            <goal>copy-dependencies</goal>
 | 
						|
                        </goals>
 | 
						|
                        <configuration>
 | 
						|
                            <outputDirectory>${project.build.directory}/libs</outputDirectory>
 | 
						|
                        </configuration>
 | 
						|
                    </execution>
 | 
						|
                </executions>
 | 
						|
            </plugin>
 | 
						|
 | 
						|
            <plugin>
 | 
						|
                <groupId>org.apache.maven.plugins</groupId>
 | 
						|
                <artifactId>maven-jar-plugin</artifactId>
 | 
						|
                <version>${maven-jar-plugin.version}</version>
 | 
						|
                <configuration>
 | 
						|
                    <archive>
 | 
						|
                        <manifest>
 | 
						|
                            <addClasspath>true</addClasspath>
 | 
						|
                            <classpathPrefix>libs/</classpathPrefix>
 | 
						|
                            <mainClass>org.baeldung.executable.ExecutableMavenJar</mainClass>
 | 
						|
                        </manifest>
 | 
						|
                    </archive>
 | 
						|
                </configuration>
 | 
						|
            </plugin>
 | 
						|
 | 
						|
            <plugin>
 | 
						|
                <groupId>org.apache.maven.plugins</groupId>
 | 
						|
                <artifactId>maven-assembly-plugin</artifactId>
 | 
						|
                <executions>
 | 
						|
                    <execution>
 | 
						|
                        <phase>package</phase>
 | 
						|
                        <goals>
 | 
						|
                            <goal>single</goal>
 | 
						|
                        </goals>
 | 
						|
                        <configuration>
 | 
						|
                            <archiveBaseDirectory>${project.basedir}</archiveBaseDirectory>
 | 
						|
                            <archive>
 | 
						|
                                <manifest>
 | 
						|
                                    <mainClass>org.baeldung.executable.ExecutableMavenJar</mainClass>
 | 
						|
                                </manifest>
 | 
						|
                            </archive>
 | 
						|
                            <descriptorRefs>
 | 
						|
                                <descriptorRef>jar-with-dependencies</descriptorRef>
 | 
						|
                            </descriptorRefs>
 | 
						|
                        </configuration>
 | 
						|
                    </execution>
 | 
						|
                </executions>
 | 
						|
            </plugin>
 | 
						|
 | 
						|
            <plugin>
 | 
						|
                <groupId>org.apache.maven.plugins</groupId>
 | 
						|
                <artifactId>maven-shade-plugin</artifactId>
 | 
						|
                <version>${maven-shade-plugin.version}</version>
 | 
						|
                <executions>
 | 
						|
                    <execution>
 | 
						|
                        <goals>
 | 
						|
                            <goal>shade</goal>
 | 
						|
                        </goals>
 | 
						|
                        <configuration>
 | 
						|
                            <shadedArtifactAttached>true</shadedArtifactAttached>
 | 
						|
                            <transformers>
 | 
						|
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
 | 
						|
                                    <mainClass>org.baeldung.executable.ExecutableMavenJar</mainClass>
 | 
						|
                                </transformer>
 | 
						|
                            </transformers>
 | 
						|
                        </configuration>
 | 
						|
                    </execution>
 | 
						|
                </executions>
 | 
						|
            </plugin>
 | 
						|
 | 
						|
            <plugin>
 | 
						|
                <groupId>com.jolira</groupId>
 | 
						|
                <artifactId>onejar-maven-plugin</artifactId>
 | 
						|
                <version>${onejar-maven-plugin.version}</version>
 | 
						|
                <executions>
 | 
						|
                    <execution>
 | 
						|
                        <configuration>
 | 
						|
                            <mainClass>org.baeldung.executable.ExecutableMavenJar</mainClass>
 | 
						|
                            <attachToBuild>true</attachToBuild>
 | 
						|
                            <filename>${project.build.finalName}-onejar.${project.packaging}</filename>
 | 
						|
                        </configuration>
 | 
						|
                        <goals>
 | 
						|
                            <goal>one-jar</goal>
 | 
						|
                        </goals>
 | 
						|
                    </execution>
 | 
						|
                </executions>
 | 
						|
            </plugin>
 | 
						|
 | 
						|
            <plugin>
 | 
						|
                <groupId>org.springframework.boot</groupId>
 | 
						|
                <artifactId>spring-boot-maven-plugin</artifactId>
 | 
						|
                <version>${spring-boot-maven-plugin.version}</version>
 | 
						|
                <executions>
 | 
						|
                    <execution>
 | 
						|
                        <goals>
 | 
						|
                            <goal>repackage</goal>
 | 
						|
                        </goals>
 | 
						|
                        <configuration>
 | 
						|
                            <classifier>spring-boot</classifier>
 | 
						|
                            <mainClass>org.baeldung.executable.ExecutableMavenJar</mainClass>
 | 
						|
                        </configuration>
 | 
						|
                    </execution>
 | 
						|
                </executions>
 | 
						|
            </plugin>
 | 
						|
 | 
						|
            <plugin>
 | 
						|
                <groupId>org.codehaus.mojo</groupId>
 | 
						|
                <artifactId>exec-maven-plugin</artifactId>
 | 
						|
                <version>${exec-maven-plugin.version}</version>
 | 
						|
                <configuration>
 | 
						|
                    <executable>java</executable>
 | 
						|
                    <mainClass>com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed</mainClass>
 | 
						|
                    <arguments>
 | 
						|
                        <argument>-Xmx300m</argument>
 | 
						|
                        <argument>-XX:+UseParallelGC</argument>
 | 
						|
                        <argument>-classpath</argument>
 | 
						|
                        <classpath />
 | 
						|
                        <argument>com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed</argument>
 | 
						|
                    </arguments>
 | 
						|
                </configuration>
 | 
						|
            </plugin>
 | 
						|
            
 | 
						|
            <plugin>
 | 
						|
                <groupId>org.apache.maven.plugins</groupId>
 | 
						|
                <artifactId>maven-javadoc-plugin</artifactId>
 | 
						|
                <version>${maven-javadoc-plugin.version}</version>
 | 
						|
                <configuration>
 | 
						|
                    <source>1.8</source>
 | 
						|
                    <target>1.8</target>
 | 
						|
                </configuration>
 | 
						|
            </plugin>
 | 
						|
        </plugins>
 | 
						|
    </build>
 | 
						|
 | 
						|
    <profiles>
 | 
						|
        <profile>
 | 
						|
            <id>integration</id>
 | 
						|
            <build>
 | 
						|
                <plugins>
 | 
						|
                    <plugin>
 | 
						|
                        <groupId>org.apache.maven.plugins</groupId>
 | 
						|
                        <artifactId>maven-surefire-plugin</artifactId>
 | 
						|
                        <executions>
 | 
						|
                            <execution>
 | 
						|
                                <phase>integration-test</phase>
 | 
						|
                                <goals>
 | 
						|
                                    <goal>test</goal>
 | 
						|
                                </goals>
 | 
						|
                                <configuration>
 | 
						|
                                    <excludes>
 | 
						|
                                        <exclude>**/*ManualTest.java</exclude>
 | 
						|
                                    </excludes>
 | 
						|
                                    <includes>
 | 
						|
                                        <include>**/*IntegrationTest.java</include>
 | 
						|
                                        <include>**/*IntTest.java</include>
 | 
						|
                                    </includes>
 | 
						|
                                </configuration>
 | 
						|
                            </execution>
 | 
						|
                        </executions>
 | 
						|
                        <configuration>
 | 
						|
                            <systemPropertyVariables>
 | 
						|
                                <test.mime>json</test.mime>
 | 
						|
                            </systemPropertyVariables>
 | 
						|
                        </configuration>
 | 
						|
                    </plugin>
 | 
						|
                    <plugin>
 | 
						|
                        <groupId>org.codehaus.mojo</groupId>
 | 
						|
                        <artifactId>exec-maven-plugin</artifactId>
 | 
						|
                        <version>${exec-maven-plugin.version}</version>
 | 
						|
                        <executions>
 | 
						|
                            <execution>
 | 
						|
                                <id>run-benchmarks</id>
 | 
						|
                                <!-- <phase>integration-test</phase> -->
 | 
						|
                                <phase>none</phase>
 | 
						|
                                <goals>
 | 
						|
                                    <goal>exec</goal>
 | 
						|
                                </goals>
 | 
						|
                                <configuration>
 | 
						|
                                    <classpathScope>test</classpathScope>
 | 
						|
                                    <executable>java</executable>
 | 
						|
                                    <arguments>
 | 
						|
                                        <argument>-classpath</argument>
 | 
						|
                                        <classpath />
 | 
						|
                                        <argument>org.openjdk.jmh.Main</argument>
 | 
						|
                                        <argument>.*</argument>
 | 
						|
                                    </arguments>
 | 
						|
                                </configuration>
 | 
						|
                            </execution>
 | 
						|
                        </executions>
 | 
						|
                    </plugin>
 | 
						|
                </plugins>
 | 
						|
            </build>
 | 
						|
        </profile>
 | 
						|
 | 
						|
        <!-- java instrumentation profiles to build jars -->
 | 
						|
        <profile>
 | 
						|
            <id>buildAgentLoader</id>
 | 
						|
            <build>
 | 
						|
                <plugins>
 | 
						|
                    <plugin>
 | 
						|
                        <groupId>org.apache.maven.plugins</groupId>
 | 
						|
                        <artifactId>maven-jar-plugin</artifactId>
 | 
						|
                        <executions>
 | 
						|
                            <execution>
 | 
						|
                                <phase>package</phase>
 | 
						|
                                <goals>
 | 
						|
                                    <goal>jar</goal>
 | 
						|
                                </goals>
 | 
						|
                                <configuration>
 | 
						|
                                    <classifier>agentLoader</classifier>
 | 
						|
                                    <classesDirectory>target/classes</classesDirectory>
 | 
						|
                                    <archive>
 | 
						|
                                        <manifest>
 | 
						|
                                            <addClasspath>true</addClasspath>
 | 
						|
                                        </manifest>
 | 
						|
                                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
 | 
						|
                                    </archive>
 | 
						|
 | 
						|
                                    <includes>
 | 
						|
                                        <include>com/baeldung/instrumentation/application/AgentLoader.class</include>
 | 
						|
                                        <include>com/baeldung/instrumentation/application/Launcher.class</include>
 | 
						|
                                    </includes>
 | 
						|
                                </configuration>
 | 
						|
                            </execution>
 | 
						|
                        </executions>
 | 
						|
                    </plugin>
 | 
						|
                </plugins>
 | 
						|
            </build>
 | 
						|
        </profile>
 | 
						|
        <profile>
 | 
						|
            <id>buildApplication</id>
 | 
						|
            <build>
 | 
						|
                <plugins>
 | 
						|
                    <plugin>
 | 
						|
                        <groupId>org.apache.maven.plugins</groupId>
 | 
						|
                        <artifactId>maven-jar-plugin</artifactId>
 | 
						|
                        <executions>
 | 
						|
                            <execution>
 | 
						|
                                <phase>package</phase>
 | 
						|
                                <goals>
 | 
						|
                                    <goal>jar</goal>
 | 
						|
                                </goals>
 | 
						|
                                <configuration>
 | 
						|
                                    <classifier>application</classifier>
 | 
						|
                                    <classesDirectory>target/classes</classesDirectory>
 | 
						|
                                    <archive>
 | 
						|
                                        <manifest>
 | 
						|
                                            <addClasspath>true</addClasspath>
 | 
						|
                                        </manifest>
 | 
						|
                                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
 | 
						|
                                    </archive>
 | 
						|
 | 
						|
                                    <includes>
 | 
						|
                                        <include>com/baeldung/instrumentation/application/MyAtm.class</include>
 | 
						|
                                        <include>com/baeldung/instrumentation/application/MyAtmApplication.class</include>
 | 
						|
                                        <include>com/baeldung/instrumentation/application/Launcher.class</include>
 | 
						|
                                    </includes>
 | 
						|
                                </configuration>
 | 
						|
                            </execution>
 | 
						|
                        </executions>
 | 
						|
                    </plugin>
 | 
						|
                </plugins>
 | 
						|
            </build>
 | 
						|
        </profile>
 | 
						|
        <profile>
 | 
						|
            <id>buildAgent</id>
 | 
						|
            <build>
 | 
						|
                <plugins>
 | 
						|
                    <plugin>
 | 
						|
                        <groupId>org.apache.maven.plugins</groupId>
 | 
						|
                        <artifactId>maven-jar-plugin</artifactId>
 | 
						|
                        <executions>
 | 
						|
                            <execution>
 | 
						|
                                <phase>package</phase>
 | 
						|
                                <goals>
 | 
						|
                                    <goal>jar</goal>
 | 
						|
                                </goals>
 | 
						|
                                <configuration>
 | 
						|
                                    <classifier>agent</classifier>
 | 
						|
                                    <classesDirectory>target/classes</classesDirectory>
 | 
						|
                                    <archive>
 | 
						|
                                        <manifest>
 | 
						|
                                            <addClasspath>true</addClasspath>
 | 
						|
                                        </manifest>
 | 
						|
                                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
 | 
						|
                                    </archive>
 | 
						|
 | 
						|
                                    <includes>
 | 
						|
                                        <include>com/baeldung/instrumentation/agent/AtmTransformer.class</include>
 | 
						|
                                        <include>com/baeldung/instrumentation/agent/MyInstrumentationAgent.class</include>
 | 
						|
                                    </includes>
 | 
						|
                                </configuration>
 | 
						|
                            </execution>
 | 
						|
                        </executions>
 | 
						|
                    </plugin>
 | 
						|
                </plugins>
 | 
						|
            </build>
 | 
						|
        </profile>
 | 
						|
    </profiles>
 | 
						|
 | 
						|
    <properties>
 | 
						|
 | 
						|
        <!-- util -->
 | 
						|
        <commons-lang3.version>3.8.1</commons-lang3.version>
 | 
						|
        
 | 
						|
        <jmh-core.version>1.19</jmh-core.version>
 | 
						|
        <jmh-generator-annprocess.version>1.19</jmh-generator-annprocess.version>
 | 
						|
 | 
						|
        <!-- testing -->
 | 
						|
        <assertj-core.version>3.10.0</assertj-core.version>
 | 
						|
 | 
						|
        <!-- maven and spring plugins -->
 | 
						|
        <maven-surefire-plugin.version>2.21.0</maven-surefire-plugin.version>
 | 
						|
        <springframework.spring-web.version>4.3.4.RELEASE</springframework.spring-web.version>
 | 
						|
        <maven-javadoc-plugin.version>3.0.0-M1</maven-javadoc-plugin.version>
 | 
						|
        <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
 | 
						|
        <onejar-maven-plugin.version>1.4.4</onejar-maven-plugin.version>
 | 
						|
        <maven-shade-plugin.version>3.1.1</maven-shade-plugin.version>
 | 
						|
        <spring-boot-maven-plugin.version>2.0.3.RELEASE</spring-boot-maven-plugin.version>
 | 
						|
        <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
 | 
						|
    </properties>
 | 
						|
 | 
						|
</project>
 |