I use Spring, Hibernate and org.mortbay.jetty jetty-maven-plugin for integration tests. After integration tests running, I have exception. I apply mvn verify. Integration tests run fine. Part of stack trace here:
2014-05-08 20:41:00.771:INFO:oejsh.ContextHandler:stopped o.m.j.p.JettyWebAppContext{/,file:/D:/projects/pr_name/},D:\projects\pr_name2014-05-08 20:41:00.822:WARN:oejuc.AbstractLifeCycle:FAILED qtp509332906{8<=8<=8/254,0}: java.lang.NoClassDefFoundError: org/eclipse/jetty/util/thread/QueuedThreadPool$1 java.lang.NoClassDefFoundError: org/eclipse/jetty/util/thread/QueuedThreadPool$1 at org.eclipse.jetty.util.thread.QueuedThreadPool.doStop(QueuedThreadPool.java:121)
My pom.xml has:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
<version>${org.springframework.ws-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.41.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>el-impl</artifactId>
<version>2.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.4.v20120524</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<stopPort>8050</stopPort>
<stopKey>STOP</stopKey>
<stopWait>10</stopWait>
<contextPath>/</contextPath>
</configuration>
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run-exploded</goal>
</goals>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
<daemon>true</daemon>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
What is wrong?
Related
In my project i'm using java 8 and same is configured in mu pom.xml as well as in my eclipse. But whenever i try to compile my code via mvn install then it's throwing below error.
I'm also not using SSLSocketFactory in my code any where. And this started suddenly with all my project in eclipse recently.
Exception in thread "DefaultMetadataResolver-0-1" [INFO] ------------------------------------------------------------------------Exception in thread "DefaultMetadataResolver-0-0" java.lang.UnsupportedOperationException: clientBuilder.sslSocketFactory(SSLSocketFactory)
not supported on JDK 9+ at okhttp3.internal.platform.Jdk9Platform.trustManager(Jdk9Platform.java:78) at okhttp3.OkHttpClient$Builder.sslSocketFactory(OkHttpClient.java:650) at io.takari.aether.okhttp.OkHttpAetherClient.
<init>(OkHttpAetherClient.java:98) at io.takari.aether.connector.AetherRepositoryConnector.newAetherClient(AetherRepositoryConnector.java:276)[INFO] BUILD FAILURE at io.takari.aether.connector.AetherRepositoryConnector.
<init>(AetherRepositoryConnector.java:191) [INFO] ------------------------------------------------------------------------ at io.takari.aether.connector.AetherRepositoryConnectorFactory.newInstance(AetherRepositoryConnectorFactory.java:89) at org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider.newRepositoryConnector(DefaultRepositoryConnectorProvider.java:113)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver$ResolveTask.run(DefaultMetadataResolver.java:603) at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)[INFO] Total time: 1.086 s [INFO] Finished at: 2020-06-17T15:07:54-04:00 java.lang.UnsupportedOperationException: clientBuilder.sslSocketFactory(SSLSocketFactory)
not supported on JDK 9+ at okhttp3.internal.platform.Jdk9Platform.trustManager(Jdk9Platform.java:78) at okhttp3.OkHttpClient$Builder.sslSocketFactory(OkHttpClient.java:650) at io.takari.aether.okhttp.OkHttpAetherClient.
<init>(OkHttpAetherClient.java:98) [INFO] Final Memory: 16M/491M [INFO] ------------------------------------------------------------------------ at io.takari.aether.connector.AetherRepositoryConnector.newAetherClient(AetherRepositoryConnector.java:276)
at io.takari.aether.connector.AetherRepositoryConnector.
<init>(AetherRepositoryConnector.java:191) at io.takari.aether.connector.AetherRepositoryConnectorFactory.newInstance(AetherRepositoryConnectorFactory.java:89) at org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider.newRepositoryConnector(DefaultRepositoryConnectorProvider.java:113)
at org.eclipse.aether.internal.impl.DefaultMetadataResolver$ResolveTask.run(DefaultMetadataResolver.java:603) at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) [ERROR] clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+
My Pom.xml
http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.baml.baats.baats_reports_services
baats_reports_services
war
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<springboot.version>2.1.4.RELEASE</springboot.version>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<release.version>0.0.1-SNAPSHOT</release.version>
<build.number>0</build.number>
<ignite.version>2.7.6</ignite.version>
</properties>
<version>${release.version}-${build.number}</version>
<dependencies>
<dependency>
<groupId>com.baml.baats.baats_common</groupId>
<artifactId>baats-common</artifactId>
<version>1.0.0-27</version>
</dependency>
<dependency>
<groupId>com.baml.etoefds.connect_services_core</groupId>
<artifactId>connect-services-core</artifactId>
<version>1.7.3</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>2.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-core</artifactId>
<version>2.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<version>2.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.52</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${springboot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-batch</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.10</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.10</version>
</dependency>
<!-- Spring Framework Caching Support -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
<version>${springboot.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-core</artifactId>
<version>${ignite.version}</version>
<exclusions>
<exclusion>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-spring</artifactId>
<version>${ignite.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-indexing</artifactId>
<version>${ignite.version}</version>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>releases</id>
<name>libs-release</name>
<url>http://code-artifacts.bankofamerica.com:18081/artifactory/libs-release</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://code-artifacts.bankofamerica.com:18081/artifactory/libs-snapshot</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<configuration>
<descriptor>src/main/resources/zip.xml</descriptor>
<finalName>baats_reports_services-properties-${release.version}</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<workingDirectory>${project.build.directory}</workingDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>post-unit-test</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<dataFile>target/jacoco.exec</dataFile>
<outputDirectory>target/jacoco-ut</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${springboot.version}</version>
<executions>
<execution>
<goals>
<goal>build-info</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
This is a possibly a bug for https://github.com/takari/aether-connector-okhttp. This only seems to happen if Aether itself can't get the trust manager.
https://github.com/takari/aether-connector-okhttp/blob/master/src/main/java/io/takari/aether/okhttp/OkHttpAetherClient.java#L113
The OkHttpClient.Builder.sslSocketFactory method is deprecated (4 years ago) for a long time now, and specifically not supported on JDK9+ because of module system changes and also it's use of implementation details of Oracle JDK 8, which don't hold on 9, 10, 11, 12, 13, 14 etc.
https://github.com/square/okhttp/commit/85f74e2004eaf0d4ff339e8644df3d8e716361e5
https://github.com/square/okhttp/blob/okhttp_3.12.x/okhttp/src/main/java/okhttp3/internal/platform/Jdk9Platform.java#L84-L91
I'm trying to put together a project that uses mapstruck, but I'm having some trouble s that the class implementing the SourceToTargetMapper interface is not being generated.
Mapper:
#Mapper
public interface CreatePersonMapper {
CreatePersonMapper INSTANCE = Mappers.getMapper(CreatePersonMapper.class);
DTOIntPerson personToDTOIntPerson(Person person);
}
When I build the programm there's no error, but the classes aren't being generated.
I believe there's some problem with my pom, probably there’s something missing or misplaced in the build/plugin :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sac.arq.servicing.spring</groupId>
<artifactId>pom-padre-frontend</artifactId>
<version>5.4.4.4</version>
</parent>
<groupId>com.sac.ergo.riskbusinessadmissions</groupId>
<artifactId>risk-business-admissions</artifactId>
<packaging>jar</packaging>
<version>1.0.0</version>
<name>risk-business-admissions</name>
<repositories />
<pluginRepositories />
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<podam.version>7.2.3.RELEASE</podam.version>
<mockito-all.version>1.9.5</mockito-all.version>
<mockito-core.version>1.9.5</mockito-core.version>
<enax_bdd_test_core.version>1.1.7</enax_bdd_test_core.version>
<enax_bdd_test_impl.version>1.1.5</enax_bdd_test_impl.version>
<jackson-core.version>2.9.8</jackson-core.version>
<jackson-annotations.version>2.9.8</jackson-annotations.version>
<jacoco.version>0.8.3</jacoco.version>
<eiaq_routines.version>1.0.6</eiaq_routines.version>
<enax_validation.version>1.0.4</enax_validation.version>
<conditions.version>1.0.2</conditions.version>
<kygg_imcUtils.version>1.0.0</kygg_imcUtils.version>
<openpojo.version>0.7.3</openpojo.version>
<guava.version>27.1-jre</guava.version>
<roo.version>2.0.0.RELEASE</roo.version>
<!-- <arq-spring-core-spi.version>5.4.0.0</arq-spring-core-spi.version> -->
</properties>
<dependencies>
<!-- Core ASO -->
<dependency>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-servicing-core</artifactId>
</dependency>
<dependency>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-connector-rest</artifactId>
</dependency>
<dependency>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-restutils</artifactId>
</dependency>
<dependency>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-core-api</artifactId>
</dependency>
<dependency>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-backend-apx</artifactId>
</dependency>
<dependency>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-backend-commons</artifactId>
</dependency>
<dependency>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-backend-otma</artifactId>
</dependency>
<dependency>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-backend-ps</artifactId>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${org.mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.9.Final</version>
</dependency>
<!--ThirdParty ASO -->
<!-- <dependency> -->
<!-- <groupId>com.sac.jee.arq.spring.core</groupId> -->
<!-- <artifactId>arq-spring-core-spi</artifactId> -->
<!-- <version>${arq-spring-core-spi.version}</version> -->
<!-- </dependency> -->
<dependency>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-servicing-logging</artifactId>
</dependency>
<!-- Infraestructure Dependencies -->
<dependency>
<groupId>com.sac.infrastructure.multichannel.api</groupId>
<artifactId>multi-channel-infrastructure-api</artifactId>
</dependency>
<dependency>
<groupId>com.sac.infrastructure.multichannel.serv</groupId>
<artifactId>multi-channel-infrastructure-serv-facade</artifactId>
</dependency>
<!-- ROO dependencies -->
<dependency>
<groupId>org.springframework.roo</groupId>
<artifactId>org.springframework.roo.annotations</artifactId>
<scope>provided</scope>
<type>pom</type>
</dependency>
<!-- Spring dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- ThirdParty dependencies -->
<dependency>
<groupId>com.googlecode.openpojo</groupId>
<artifactId>openpojo</artifactId>
<version>${openpojo.version}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons-codec.version}</version>
</dependency>
<!--Dependencias Swagger -->
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-core_2.10</artifactId>
<version>${swagger-core.version}</version>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jaxrs_2.10</artifactId>
<version>${swagger-jaxrs.version}</version>
</dependency>
<!-- Test dependencies -->
<dependency>
<groupId>uk.co.jemos.podam</groupId>
<artifactId>podam</artifactId>
<version>${podam.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>${mockito-all.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
<!-- Cucumber dependencies -->
<dependency>
<groupId>com.sac.enax.test</groupId>
<artifactId>enax_bdd_test_core</artifactId>
<version>${enax_bdd_test_core.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sac.enax.global.bdd</groupId>
<artifactId>enax_bdd_test_impl</artifactId>
<version>${enax_bdd_test_impl.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson-core.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson-annotations.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpclient.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>${httpcore.version}</version>
<scope>test</scope>
</dependency>
<!-- Rutines and Libraries dependencies -->
<dependency>
<groupId>com.sac.eiaq</groupId>
<artifactId>eiaq_routines</artifactId>
<exclusions>
<exclusion>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-connector-host-api</artifactId>
</exclusion>
<exclusion>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-connector-host-apx</artifactId>
</exclusion>
</exclusions>
<version>${eiaq_routines.version}</version>
</dependency>
<dependency>
<groupId>com.sac.enax</groupId>
<artifactId>enax_validation</artifactId>
<exclusions>
<exclusion>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-connector-host-api</artifactId>
</exclusion>
<exclusion>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-connector-host-apx</artifactId>
</exclusion>
</exclusions>
<version>${enax_validation.version}</version>
</dependency>
<dependency>
<groupId>com.sac.enax</groupId>
<artifactId>conditions</artifactId>
<exclusions>
<exclusion>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-connector-host-api</artifactId>
</exclusion>
<exclusion>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-connector-host-apx</artifactId>
</exclusion>
</exclusions>
<version>${conditions.version}</version>
</dependency>
<dependency>
<groupId>com.sac.kygg</groupId>
<artifactId>kygg_imcUtils</artifactId>
<version>${kygg_imcUtils.version}</version>
</dependency>
</dependencies>
<build>
<finalName>ergo_${project.artifactId}</finalName>
<!-- Core -->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${arq.spring.jdk.version}</source>
<target>${arq.spring.jdk.version}</target>
<encoding>UTF-8</encoding>
<useIncrementalCompilation>false</useIncrementalCompilation>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
<!-- other annotation processors -->
</annotationProcessorPaths>
<compilerArgs>
<arg>-proc:only</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>generacionFacade.xml</descriptor>
<descriptor>generacionSN.xml</descriptor>
</descriptors>
<outputDirectory>target</outputDirectory>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${maven-deploy-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>${aspectj-maven-plugin.version}</version>
<configuration>
<complianceLevel>${arq.spring.jdk.version}</complianceLevel>
<outxml>true</outxml>
<aspectLibraries>
<aspectLibrary>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</aspectLibrary>
<aspectLibrary>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-servicing-core</artifactId>
</aspectLibrary>
<aspectLibrary>
<groupId>com.sac.jee.arq.spring.core</groupId>
<artifactId>arq-spring-restutils</artifactId>
</aspectLibrary>
</aspectLibraries>
<source>${arq.spring.jdk.version}</source>
<target>${arq.spring.jdk.version}</target>
</configuration>
<executions>
<execution>
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
<!-- Test -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<argLine>${surefireArgLine} -XX:-UseSplitVerifier</argLine>
<printSummary>false</printSummary>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<excludes>
<exclude>**/*_Roo_*</exclude>
<exclude>${skip.tests}</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<configuration>
<excludes>
<exclude>com/sac/enax/cards/dao/model/**/*.class</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>pre-unit-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${project.build.directory}/jacoco.exec</destFile>
<propertyName>surefireArgLine</propertyName>
</configuration>
</execution>
<execution>
<id>post-unit-test</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<dataFile>${project.build.directory}/jacoco.exec</dataFile>
<outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- IDE -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>${maven-eclipse-plugin.version}</version>
<!-- Note 2.8 does not work with AspectJ aspect path -->
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>false</downloadJavadocs>
<wtpversion>2.0</wtpversion>
<additionalBuildcommands>
<buildCommand>
<name>org.eclipse.ajdt.core.ajbuilder</name>
<arguments>
<aspectPath>org.springframework.aspects</aspectPath>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
</buildCommand>
</additionalBuildcommands>
<additionalProjectnatures>
<projectnature>org.eclipse.ajdt.ui.ajnature</projectnature>
<projectnature>com.springsource.sts.roo.core.nature</projectnature>
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
</additionalProjectnatures>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-idea-plugin</artifactId>
<version>${maven-idea-plugin.version}</version>
<configuration>
<downloadSources>true</downloadSources>
<dependenciesAsLibraries>true</dependenciesAsLibraries>
</configuration>
</plugin>
<!-- Servers -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>${tomcat-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty-maven-plugin.version}</version>
<configuration>
<webAppConfig>
<contextPath>/${project.name}</contextPath>
</webAppConfig>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>unit-test</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<build.profile.id>unit-test</build.profile.id>
<skip.tests>**/RunIntegradoTest.java</skip.tests>
</properties>
</profile>
<profile>
<id>integration-test</id>
<properties>
<build.profile.id>integration-test</build.profile.id>
<skip.tests>**/business/**, **/dao/**, **/facade/**,
**/TestGetterSetter.java</skip.tests>
</properties>
</profile>
</profiles>
</project>
Use the spring componentModel in mapper class #Mapper(componentModel = "spring") and try adding this dependency
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
<type>jar</type>
</dependency>
When using Maven and the annotationProcessorPaths you need to make sure that the version of the maven-compiler-plugin is at least 3.5.1 or newer. If you are using the Spring Boot as a parent in your parent then it should work, otherwise it is not OK.
You should use the spring componentModel in mapper class #Mapper(componentModel = "spring") and the expected dependency configuration of annotation processors which is described on the mapstruct site dependency config
I have a strange problem.
I updated/upgraded jenkins from Jenkins ver. 1.638 to Jenkins ver. 2.60.1.
One of my jobs now does not work properly anymore.
Its a Maven project.
In the pom following dependency is set:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java-p</artifactId>
<version>5.1.7</version>
<scope>compile</scope>
</dependency>
Now the strange thing is:
When i build this job with Jenkins ver. 1.638 then following driver is set in META-INF/services "com.mysql.jdbc.Driver" (java 7 used)
When i build this job with Jenkins ver. 2.60.1 then following driver is set in META-INF/services "oracle.jdbc.OracleDriver" (java 8 used and must be used, due to system requirements of Jenkins ver. 2.60.1)
I am pretty sure this has something to do with the java version, but i could not figure out the relation.
With this i already tried to force java 7 but this does not solve my problem:
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>toolchain</goal>
</goals>
</execution>
</executions>
<configuration>
<toolchains>
<jdk>
<version>1.7</version>
</jdk>
</toolchains>
</configuration>
</plugin> -->
Full pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>JobRunner</mainClass>
</manifest>
</archive>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>toolchain</goal>
</goals>
</execution>
</executions>
<configuration>
<toolchains>
<jdk>
<version>1.7</version>
</jdk>
</toolchains>
</configuration>
</plugin> -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.1</version>
<configuration>
<descriptors>
<descriptor>dependencies.xml</descriptor>
</descriptors>
<finalName>test</finalName>
<outputDirectory>target</outputDirectory>
<workDirectory>target/assembly/work</workDirectory>
<archive>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
</archive>
<encoding>UTF-8</encoding>
<webResources>
<resource>
<!-- this is relative to the pom.xml directory -->
<directory>src/main/resources/springConfig</directory>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<springVersion>4.2.6.RELEASE</springVersion>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${springVersion}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${springVersion}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${springVersion}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${springVersion}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${springVersion}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${springVersion}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-hibernate3</artifactId>
<version>2.0.8</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.3.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.5.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java-p</artifactId>
<version>5.1.7</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>ojdbc</groupId>
<artifactId>ojdbc</artifactId>
<version>11.2.0.1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.microsoft</groupId>
<artifactId>sqljdbc</artifactId>
<version>1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging-api</artifactId>
<version>1.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.batch</groupId>
<artifactId>spring-batch-core</artifactId>
<version>2.1.8.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>sap-jco</groupId>
<artifactId>sap-jco</artifactId>
<version>2.1.10</version>
</dependency>
<dependency>
<groupId>sap</groupId>
<artifactId>sap-bo-cecore</artifactId>
<version>12.2.1.412</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>sap</groupId>
<artifactId>sap-cesession</artifactId>
<version>12.2.1.412</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>sap</groupId>
<artifactId>sap-bo-celib</artifactId>
<version>12.2.1.412</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>sap</groupId>
<artifactId>sap-logging</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>sap</groupId>
<artifactId>sap-corbaidl</artifactId>
<version>12.2.1.412</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>sap</groupId>
<artifactId>sap-ebus405</artifactId>
<version>11.5.8.834</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.ftpserver</groupId>
<artifactId>ftpserver-core</artifactId>
<version>1.0.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.5</version>
</dependency>
</dependencies>
</project>
With the following settings
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>9090</port>
<path>/</path>
<contextFile>src/main/resources/config/tomcat/context.xml</contextFile>
<executions>
<execution>
<id>start-tomcat</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>stop-tomcat</id>
<phase>post-integration-test</phase>
<goals>
<goal>shutdown</goal>
</goals>
</execution>
</executions>
</plugin>
When I ran
mvn integration-test
I got the following error
Caused by: javax.naming.NameNotFoundException: Name [url/btoconfig] is not bound
in this Context. Unable to find [url].
I do have this resource in context.xml (src/main/resources/config/tomcat/context.xml)
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="url/btoconfig"
auth="Container"
type="java.net.URL"
maxActive="10"
initialSize="1"
factory="com.benny.naming.factory.URLFactory"
url="file:///tools/BTO/config/DEV/bto.properties" />
</Context>
I must be missing something silly, any hint would be much appreciated.
REF: application POM
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.benny.oms.bto</groupId>
<artifactId>bto</artifactId>
<version>1.03.00.00</version>
</parent>
<artifactId>application</artifactId>
<name>application</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</dependency>
<!-- OMS artifacts -->
<dependency>
<groupId>com.benny.oms</groupId>
<artifactId>oms-application</artifactId>
<type>war</type>
</dependency>
<dependency>
<groupId>com.benny.oms</groupId>
<artifactId>oms-application</artifactId>
<type>jar</type>
<classifier>classes</classifier>
</dependency>
<!-- End OMS artifacts -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.ibm</groupId>
<artifactId>mqjms</artifactId>
<version>${mq.version}</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
</dependency>
<dependency>
<artifactId>spring-test</artifactId>
<groupId>org.springframework</groupId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>jdbc</groupId>
<artifactId>jdbc-jconn3</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
</dependency>
<!--
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jms_1.1_spec</artifactId>
</dependency>
-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
</dependency>
<!-- Seeing if this is the problem
As suggested by http://stackoverflow.com/questions/8218629/active-mq-helloworld-example-exception
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
</dependency>
-->
<dependency>
<groupId>javax.resource</groupId>
<artifactId>connector-api</artifactId>
</dependency>
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom</artifactId>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>serializer</artifactId>
</dependency>
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-api</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-activation_1.1_spec</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-javamail_1.4_spec</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-impl</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-activation_1.1_spec</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-javamail_1.4_spec</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<exclusions>
<exclusion>
<artifactId>maven-cobertura-plugin</artifactId>
<groupId>maven-plugins</groupId>
</exclusion>
<exclusion>
<artifactId>maven-findbugs-plugin</artifactId>
<groupId>maven-plugins</groupId>
</exclusion>
<exclusion>
<artifactId>com.ibm.icu</artifactId>
<groupId>icu4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.ws.xmlschema</groupId>
<artifactId>xmlschema-core</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.stream</groupId>
<artifactId>sjsxp</artifactId>
</dependency>
<!-- Spring Security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-xml</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
</dependency>
<dependency>
<groupId>ch.ralscha</groupId>
<artifactId>extdirectspring</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-security</artifactId>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
<dependency>
<groupId>benny.extjs</groupId>
<artifactId>extjs-benny-jar</artifactId>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>javax.xml.stream</groupId>
<artifactId>stax-api</artifactId>
</exclusion>
<exclusion>
<groupId>stax</groupId>
<artifactId>stax-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>sweetdev</groupId>
<artifactId>sweetdev-spring-core</artifactId>
</dependency>
<dependency>
<groupId>net.sf.dozer</groupId>
<artifactId>dozer</artifactId>
</dependency>
<dependency>
<groupId>xmlunit</groupId>
<artifactId>xmlunit</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.stream.buffer</groupId>
<artifactId>streambuffer</artifactId>
<exclusions>
<exclusion>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>annogen</groupId>
<artifactId>annogen</artifactId>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
</dependency>
<dependency>
<groupId>org.milyn</groupId>
<artifactId>milyn-smooks-all</artifactId>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jms_1.1_spec</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
</dependency>
<dependency>
<groupId>com.benny.oms.bto</groupId>
<artifactId>dao</artifactId>
</dependency>
<!--to share test code-->
<dependency>
<groupId>com.benny.oms.bto</groupId>
<artifactId>model</artifactId>
<version>${project.version}</version><!--$NO-MVN-MAN-VER$-->
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.benny.oms.bto</groupId>
<artifactId>interfaces</artifactId>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
<dependency>
<groupId>SSO</groupId>
<artifactId>benny-SSO-Client</artifactId>
</dependency>
</dependencies>
<build>
<finalName>bto</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>9090</port>
<path>/</path>
<contextFile>src/main/resources/config/tomcat/context.xml</contextFile>
<executions>
<execution>
<id>start-tomcat</id>
<!-- <phase>pre-integration-test</phase> -->
<phase>generate-resources</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>stop-tomcat</id>
<phase>post-integration-test</phase>
<goals>
<goal>shutdown</goal>
</goals>
</execution>
</executions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<configuration>
<filesets>
<fileset>
<directory>src/main/webapp/WEB-INF</directory>
<includes>
<include>classes/**/*</include>
<include>lib/**/*</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<projectNameTemplate>[artifactId]-[version]</projectNameTemplate>
<wtpmanifest>true</wtpmanifest>
<wtpapplicationxml>true</wtpapplicationxml>
<wtpversion>2.0</wtpversion>
<manifest>${basedir}/src/main/resources/META-INF/MANIFEST.MF</manifest>
</configuration>
</plugin>
<!-- plugin allows to set variable containing all lib Container will ignore
scanning lib inside -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.9-benny</version>
<executions>
<execution>
<goals>
<goal>build-classpath</goal>
</goals>
<phase>generate-resources</phase>
<!-- <goals> <goal>build-classpath</goal> </goals> -->
<configuration>
<useAbsolutePaths>false</useAbsolutePaths>
<outputProperty>was.ignorescan.archives</outputProperty>
<includeScope>runtime</includeScope>
<pathSeparator>, </pathSeparator>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<archiveClasses>true</archiveClasses>
<attachClasses>true</attachClasses>
<dependentWarIncludes>**/common/**, **/resources/**</dependentWarIncludes>
<packagingExcludes>WEB-INF/lib/validation-api-1.0.0.GA.jar,WEB-INF/lib/geronimo-stax-api_1.0_spec-1.0.1.jar,WEB-INF/lib/geronimo-jms_1.1_spec-1.1.1.jar,WEB-INF/lib/mqjms-6.0.jar,WEB-INF/lib/xmlParserAPIs-2.6.2.jar</packagingExcludes>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<Implementation-Version>${project.version}</Implementation-Version>
<Ignore-Scanning-Archives>${was.ignorescan.archives}</Ignore-Scanning-Archives>
</manifestEntries>
</archive>
<webResources>
<webResource>
<directory>/src/main/webapp/WEB-INF</directory>
<includes>
<include>web.xml</include>
</includes>
<filtering>true</filtering>
<targetPath>WEB-INF</targetPath>
</webResource>
</webResources>
<overlays>
<overlay>
<groupId>com.benny.oms</groupId>
<artifactId>oms-application</artifactId>
<excludes>
<exclude>**/.xml</exclude>
<exclude>WEB-INF/lib/validation-api-1.0.0.GA.jar</exclude>
<exclude>WEB-INF/lib/geronimo-stax-api_1.0_spec-1.0.1.jar</exclude>
<exclude>WEB-INF/lib/geronimo-jms_1.1_spec-1.1.1.jar</exclude>
<exclude>WEB-INF/lib/mqjms-6.0.jar</exclude>
</excludes>
</overlay>
</overlays>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<excludes>
<exclude>**/*ScreenTest.java</exclude>
</excludes>
<classpathDependencyExcludes>
<!-- exclude code absent api -->
<classpathDependencyExclude>javax.faces:javax.faces-api</classpathDependencyExclude>
</classpathDependencyExcludes>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
</project>
I use maven to package my web application, but I found that a lot of maven jars are in my war's lib directory. I do not think they are useful for my web application under tomcat, so how can I exclude them?
<dependencies>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.9.13</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-xc</artifactId>
<version>1.9.13</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.whalin</groupId>
<artifactId>Memcached-Java-Client</artifactId>
<version>3.0.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.imgscalr</groupId>
<artifactId>imgscalr-lib</artifactId>
<version>4.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.6</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.6</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>2.6</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.5.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.5.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.14</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.0.13</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.logback-extensions</groupId>
<artifactId>logback-ext-spring</artifactId>
<version>0.1.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-spring3</artifactId>
<version>2.6</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>spring</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-core</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-web</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-beans</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-context</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.4.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.1.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>google-collect</artifactId>
<groupId>com.google.code.google-collections</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.shardbatis</groupId>
<artifactId>shardbatis</artifactId>
<version>2.0.0B</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>net.sf.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>0.7.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.yolu.wrm</groupId>
<artifactId>trendrr-beanstalk</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.8</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.cardme</groupId>
<artifactId>cardme</artifactId>
<version>0.4.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.yolu.wrm</groupId>
<artifactId>weibo4j</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>/Users/mbao/workspace/wrm-server/src/main/java</sourceDirectory>
<scriptSourceDirectory>/Users/mbao/workspace/wrm-server/src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>/Users/mbao/workspace/wrm-server/src/test/java</testSourceDirectory>
<outputDirectory>/Users/mbao/workspace/wrm-server/target/classes</outputDirectory>
<testOutputDirectory>/Users/mbao/workspace/wrm-server/target/test-classes</testOutputDirectory>
<resources>
<resource>
<directory>/Users/mbao/workspace/wrm-server/src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>/Users/mbao/workspace/wrm-server/src/main/resources/dev</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>/Users/mbao/workspace/wrm-server/src/test/resources</directory>
</testResource>
</testResources>
<directory>/Users/mbao/workspace/wrm-server/target</directory>
<finalName>wrm-server###1.0</finalName>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.14</version>
<scope>compile</scope>
</dependency>
</dependencies>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
<configurationFile>/Users/mbao/workspace/wrm-server/src/main/resources/dev/generatorConfig.xml</configurationFile>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<executions>
<execution>
<id>default-testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>src/main/webapp/WEB-INF/lib</extdirs>
</compilerArguments>
</configuration>
</execution>
<execution>
<id>default-compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>src/main/webapp/WEB-INF/lib</extdirs>
</compilerArguments>
</configuration>
</execution>
</executions>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>src/main/webapp/WEB-INF/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>default-war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
<configuration>
<webResources>
<resource>
<directory>src/main/resources/dev</directory>
<targetPath>WEB-INF/classes</targetPath>
</resource>
<resource>
<directory>web/WEB-INF/</directory>
<targetPath>WEB-INF/</targetPath>
</resource>
</webResources>
</configuration>
</execution>
</executions>
<configuration>
<webResources>
<resource>
<directory>src/main/resources/dev</directory>
<targetPath>WEB-INF/classes</targetPath>
</resource>
<resource>
<directory>web/WEB-INF/</directory>
<targetPath>WEB-INF/</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>default-clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<id>default-install</id>
<phase>install</phase>
<goals>
<goal>install</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>default-resources</id>
<phase>process-resources</phase>
<goals>
<goal>resources</goal>
</goals>
</execution>
<execution>
<id>default-testResources</id>
<phase>process-test-resources</phase>
<goals>
<goal>testResources</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>default-test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<id>default-deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.0</version>
<executions>
<execution>
<id>default-site</id>
<phase>site</phase>
<goals>
<goal>site</goal>
</goals>
<configuration>
<outputDirectory>/Users/mbao/workspace/wrm-server/target/site</outputDirectory>
<reportPlugins>
<reportPlugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</reportPlugin>
</reportPlugins>
</configuration>
</execution>
<execution>
<id>default-deploy</id>
<phase>site-deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<outputDirectory>/Users/mbao/workspace/wrm-server/target/site</outputDirectory>
<reportPlugins>
<reportPlugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</reportPlugin>
</reportPlugins>
</configuration>
</execution>
</executions>
<configuration>
<outputDirectory>/Users/mbao/workspace/wrm-server/target/site</outputDirectory>
<reportPlugins>
<reportPlugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</reportPlugin>
</reportPlugins>
</configuration>
</plugin>
</plugins>
</build>
Simply answer. Never use maven plugins as dependencies cause they do not belong to dependencies. That's the reason why got those strange artifacts in your build.
You should update the scope section for the dependencies ,which you want to exclude in the war file.
<scope>provided</scope>
provided scope indicates the dependency will be present during compilation,but will not be included in war file.
For more information you can refer :-
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
And for the maven related jar you can exclude them using below.
<configuration>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
</configuration>
try change
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>google-collect</artifactId>
<groupId>com.google.code.google-collections</groupId>
</exclusion>
</exclusions>
</dependency>
to
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>google-collect</artifactId>
<groupId>com.google.code.google-collections</groupId>
</exclusion>
</exclusions>
</dependency>
EDIT: above is only quick fix, generally you should get rid of this type of dependencies, plugin usage should be defined in pluginManagement.