ejb-timer-databases
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.glassfish.main.ejb</groupId> <artifactId>ejb-timer-databases</artifactId> <version>8.0.0-JDK17-M10</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0, which is available at http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception, which is available at https://www.gnu.org/software/classpath/license.html. SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 --> <!-- This module is meant to serve as the example of how to add additional files to the GlassFish distribution. --> <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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.glassfish.main.ejb</groupId> <artifactId>ejb</artifactId> <version>8.0.0-JDK17-M10</version> </parent> <artifactId>ejb-timer-databases</artifactId> <!-- This packaging specifies that it's a package that contains files to be added to the distribution. In this packaging mode, the build will produce a jar, like it normally does for the <packaging>jar</packaging>, but the contents of this jar is then extracted when the final GlassFish distribution is assembled. (But when this happens, META-INF/** in the jar will be ignored.) For a fragment to be added to the distribution, the distribution POM needs to directly or indirectly depend on the fragment module. This is normally done by creating a feature-level grouping POM (which allows you to bundle multiple modules and treat it as a single dependency - see the webtier-all module for example), and have that declare a dependency on the fragment, instead of directly modifying the distribution POM. So the idea here is that individual technology area will create their own fragments that contain pieces that they need, and when the said technology is bundled in GF, the corresponding fragment will be also added, thanks to the transitive dependency handling in Maven. --> <packaging>distribution-fragment</packaging> <name>GlassFish EJB timer app database init scripts</name> <dependencies> <dependency> <groupId>${project.groupId}</groupId> <artifactId>ejb-timer-service-app</artifactId> <version>${project.version}</version> <type>war</type> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>war</id> <goals> <goal>copy-dependencies</goal> </goals> <phase>generate-resources</phase> <configuration> <outputDirectory>${projecty.build.outputDirectory}/glassfish/lib/install/applications</outputDirectory> <excludeTransitive>true</excludeTransitive> <includeScope>compile</includeScope> <includeTypes>war</includeTypes> <stripVersion>true</stripVersion> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>