tomee-embedded
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.apache.tomee</groupId> <artifactId>tomee-embedded</artifactId> <version>10.0.1</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- $Rev: 600338 $ $Date: 2007-12-02 09:08:04 -0800 (Sun, 02 Dec 2007) $ --> <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"> <parent> <artifactId>tomee</artifactId> <groupId>org.apache.tomee</groupId> <version>10.0.1</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>tomee-embedded</artifactId> <packaging>jar</packaging> <name>TomEE :: TomEE :: TomEE Embedded</name> <version>10.0.1</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive combine.children="append"> <manifest> <Main-Class>org.apache.tomee.embedded.Main</Main-Class> <!-- the following is not really required if we shade everything together Moreover, it generates a lot of stacktraces because Tomcat reads the class-path attribute from the manifest and tries to resolve entries based on tomee-embedded https://github.com/apache/tomcat/blob/main/java/org/apache/tomcat/util/scan/StandardJarScanner.java#L467 We end up with things like file:/....../.m2/repository/org/apache/tomee/tomee-embedded/10.0.1-SNAPSHOT/tomee-config-10.0.1-SNAPSHOT.jar <addClasspath>true</addClasspath> --> </manifest> <manifestEntries> <Automatic-Module-Name>${tomee.build.name}</Automatic-Module-Name> </manifestEntries> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <executions> <execution> <!-- real tomee-embedded (typically webprofile + AMQ) --> <id>uber-shade</id> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <shadedClassifierName>uber</shadedClassifierName> <artifactSet> <excludes> <exclude>junit:junit</exclude> <exclude>org.junit.jupiter:junit-jupiter-api</exclude> <exclude>*:jaxb-api</exclude> <exclude>*:jaxb-impl</exclude> <exclude>*:jaxb-runtime</exclude> </excludes> </artifactSet> </configuration> </execution> <execution> <!-- kind of webprofile minus JSF --> <id>jaxrs-shade</id> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <shadedClassifierName>jaxrs</shadedClassifierName> <artifactSet> <excludes> <exclude>org.junit.jupiter:junit-jupiter-api</exclude> <exclude>*:jaxb-api</exclude> <exclude>*:jaxb-impl</exclude> <exclude>*:jaxb-runtime</exclude> <exclude>org.apache.activemq:*</exclude> <exclude>org.apache.activemq.protobuf:*</exclude> <exclude>org.fusesource.hawtbuf:hawtbuf</exclude> <exclude>org.apache.myfaces.core:*</exclude> <!-- jaxws --> <exclude>joda-time:joda-time</exclude> <exclude> commons-codec:commons-codec</exclude> <exclude>${project.groupId}:tomee-webservices</exclude> <exclude>${project.groupId}:openejb-webservices</exclude> <exclude>${project.groupId}:openejb-cxf</exclude> <exclude>org.apache.wss4j:*</exclude> <exclude>org.apache.santuario:xmlsec</exclude> <exclude>org.opensaml:*</exclude> <exclude>org.jasypt:*</exclude> <exclude>net.shibboleth.utilities:java-support</exclude> <exclude>org.cryptacular:cryptacular</exclude> <exclude>org.bouncycastle:bcprov-jdk15to18</exclude> <exclude>org.apache.neethi:neethi</exclude> <exclude>org.apache.cxf:cxf-rt-frontend-jaxws</exclude> <exclude>org.apache.cxf:cxf-rt-bindings-soap</exclude> <exclude>org.apache.cxf:cxf-rt-bindings-xml</exclude> <exclude>org.apache.cxf:cxf-rt-frontend-simple</exclude> <exclude>org.apache.cxf:cxf-rt-wsdl</exclude> <exclude>org.apache.cxf:cxf-rt-databinding-jaxb</exclude> <exclude>org.apache.cxf:cxf-rt-ws-addr</exclude> <exclude>org.apache.cxf:cxf-rt-ws-security</exclude> <exclude>org.apache.cxf:cxf-rt-ws-policy</exclude> <exclude>org.apache.cxf:cxf-rt-security-saml</exclude> <exclude>org.apache.ws.xmlschema:xmlschema-core</exclude> <exclude>xml-resolver:xml-resolver</exclude> <exclude>com.sun.xml.messaging.saaj:saaj-impl</exclude> <exclude>org.jvnet.mimepull:mimepull</exclude> <exclude>wsdl4j:wsdl4j</exclude> </excludes> </artifactSet> </configuration> </execution> <execution> <!-- kind of webprofile plus JAX-WS minus JSF --> <id>jaxws-shade</id> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <shadedClassifierName>jaxws</shadedClassifierName> <artifactSet> <excludes> <exclude>junit:junit</exclude> <exclude>org.junit.jupiter:junit-jupiter-api</exclude> <exclude>*:jaxb-api</exclude> <exclude>*:jaxb-impl</exclude> <exclude>*:jaxb-runtime</exclude> <exclude>org.apache.activemq:*</exclude> <exclude>org.apache.activemq.protobuf:*</exclude> <exclude>org.fusesource.hawtbuf:hawtbuf</exclude> <exclude>org.apache.myfaces.core:*</exclude> <!-- jaxrs --> <exclude>${project.groupId}:tomee-jaxrs</exclude> <exclude>${project.groupId}:openejb-rest</exclude> <exclude>${project.groupId}:openejb-cxf-rs</exclude> <exclude>org.apache.cxf:cxf-rt-rs-service-description</exclude> <exclude>org.apache.cxf:cxf-rt-rs-client</exclude> <exclude>org.apache.cxf:cxf-rt-frontend-jaxrs</exclude> <exclude>org.apache.cxf:cxf-rt-rs-extension-search</exclude> <exclude>org.apache.cxf:cxf-rt-rs-json-basic</exclude> <exclude>org.apache.cxf:cxf-rt-rs-security-cors</exclude> <exclude>org.apache.cxf:cxf-rt-rs-security-oauth2</exclude> <exclude>org.apache.cxf:cxf-rt-rs-security-jose-jaxrs</exclude> <exclude>org.apache.cxf:cxf-rt-rs-security-jose</exclude> <exclude>org.apache.cxf:cxf-rt-rs-extension-providers</exclude> <exclude>org.apache.johnzon:johnzon-jaxrs</exclude> <exclude>org.apache.johnzon:johnzon-mapper</exclude> </excludes> </artifactSet> </configuration> </execution> </executions> <configuration> <useBaseVersion>true</useBaseVersion> <createDependencyReducedPom>false</createDependencyReducedPom> <shadedArtifactAttached>true</shadedArtifactAttached> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>org.apache.tomee.embedded.Main</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/cxf/bus-extensions.txt</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/openwebbeans/openwebbeans.properties</resource> </transformer> </transformers> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/ejb-jar.xml</exclude> <exclude>META-INF/openejb-jar.xml</exclude> <exclude>META-INF/web-fragment.xml</exclude> <!-- NOTE: we shouldn't exclude faces-config.xml while we didn't impl the feature in another manner but it breaks all apps not using JSF. Solution would be to handle it more deeply in our myfaces integration --> <exclude>META-INF/faces-config.xml</exclude> <!-- to avoid to not be able to run the shade --> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <executions> <execution> <id>default-test</id> <goals> <goal>test</goal> </goals> <configuration> <excludes> <exclude>**/SingleInstanceRunnerTest*</exclude> <exclude>**/SingleInstanceRunnerExtensionTest*</exclude> <exclude>**/NoScannerSingleRunnerTest*</exclude> <exclude>**/NoScannerSingleRunnerExtensionTest*</exclude> </excludes> </configuration> </execution> <execution> <id>single-server-default-scanning</id> <goals> <goal>test</goal> </goals> <configuration> <includes> <include>**/SingleInstanceRunnerTest*</include> </includes> <systemPropertyVariables> <tomee.application-composer.application>org.apache.tomee.embedded.SingleInstanceRunnerTest$TheApp</tomee.application-composer.application> </systemPropertyVariables> </configuration> </execution> <execution> <id>single-server-custom-scanning</id> <goals> <goal>test</goal> </goals> <configuration> <includes> <include>**/NoScannerSingleRunnerTest*</include> </includes> <systemPropertyVariables> <tomee.application-composer.application>org.apache.tomee.embedded.NoScannerSingleRunnerTest$ScanApp</tomee.application-composer.application> </systemPropertyVariables> </configuration> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>${project.groupId}</groupId> <artifactId>tomee-catalina</artifactId> <version>${project.version}</version> <exclusions> <exclusion> <artifactId>jakartaee-api</artifactId> <groupId>${project.groupId}</groupId> </exclusion> <exclusion> <artifactId>tomcat-annotations-api</artifactId> <groupId>org.apache.tomcat</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>tomee-util</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>jakartaee-api</artifactId> <scope>compile</scope> <classifier>tomcat</classifier> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-websocket-api</artifactId> <version>${tomcat.version}</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-websocket-client-api</artifactId> <version>${tomcat.version}</version> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>tomee-myfaces</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>openejb-core</artifactId> <scope>compile</scope> <exclusions> <exclusion> <artifactId>commons-beautils-core</artifactId> <groupId>commons-beautils</groupId> </exclusion> <exclusion> <artifactId>jakartaee-api</artifactId> <groupId>${project.groupId}</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-jsf</artifactId> <scope>compile</scope> <!-- we already have jakarta version coming from core. We don't want non jakarta version transitively --> <exclusions> <exclusion> <groupId>*</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-impl</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.tomee</groupId> <artifactId>taglibs-shade</artifactId> <version>${project.version}</version> <exclusions> <exclusion> <groupId>*</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jdbc</artifactId> <exclusions> <exclusion> <artifactId>tomcat-juli</artifactId> <groupId>org.apache.tomcat</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-dbcp</artifactId> <exclusions> <exclusion> <artifactId>tomcat-juli</artifactId> <groupId>org.apache.tomcat</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-catalina</artifactId> <scope>compile</scope> <exclusions> <exclusion> <artifactId>tomcat-annotations-api</artifactId> <groupId>org.apache.tomcat</groupId> </exclusion> <exclusion> <artifactId>tomcat-juli</artifactId> <groupId>org.apache.tomcat</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-catalina-ha</artifactId> <scope>compile</scope> <exclusions> <exclusion> <artifactId>tomcat-juli</artifactId> <groupId>org.apache.tomcat</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-coyote</artifactId> <scope>compile</scope> <exclusions> <exclusion> <artifactId>tomcat-juli</artifactId> <groupId>org.apache.tomcat</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper</artifactId> <scope>compile</scope> <exclusions> <exclusion> <groupId>org.eclipse.jdt</groupId> <artifactId>ecj</artifactId> </exclusion> <exclusion> <artifactId>tomcat-juli</artifactId> <groupId>org.apache.tomcat</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper-el</artifactId> <version>${tomcat.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> <!-- Required for running JUnit 4 via JUnit 5 environment --> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.eclipse.jdt</groupId> <artifactId>ecj</artifactId> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>openejb-client</artifactId> <exclusions> <exclusion> <artifactId>jakartaee-api</artifactId> <groupId>${project.groupId}</groupId> </exclusion> </exclusions> </dependency> <dependency> <!-- now in webprofile --> <groupId>${project.groupId}</groupId> <artifactId>tomee-jaxrs</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>tomee-webservices</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-websocket</artifactId> <version>${tomcat.version}</version> <exclusions> <exclusion> <artifactId>tomcat-juli</artifactId> <groupId>org.apache.tomcat</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.shrinkwrap</groupId> <artifactId>shrinkwrap-impl-base</artifactId> <version>${version.shrinkwrap.shrinkwrap}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcmail-jdk15to18</artifactId> <version>1.80</version> <scope>test</scope> </dependency> </dependencies> </project>