我想将一个startup MBEAN
文件(startup-client-service.xml)
从我的EJB
>META-INF
移动到EAR
> META-INF
文件夹。我尝试使用maven-resources-plugin
插件,但它只是将文件从EJB
>META-INF
复制到ear
文件夹中的Target
。但在构建的ear
中,startup-client-service.xml
文件在META-INF
中不可用
如何将启动文件移至META-INF到ear > META-INF?
这是ear的pom文件。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.testapp</groupId>
<artifactId>my-client-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<name>Test app EAR</name>
<artifactId>my-client-ear</artifactId>
<packaging>ear</packaging>
<dependencies>
<dependency>
<groupId>com.testapp</groupId>
<artifactId>my-client-ejb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>ejb</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.8</version>
<configuration>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<modules>
</modules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>META-INF</outputDirectory>
<resources>
<resource>
<directory>${project.parent.basedir}/ejb/src/main/resources/META-INF</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-ear-plugin
</artifactId>
<versionRange>
[2.8,)
</versionRange>
<goals>
<goal>
generate-application-xml
</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>copy_bundle</id>
<properties>
<install.dir>${jboss.dir}\server\default\deploy</install.dir>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>Copying bundle to destination folder</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<copy
file="${project.build.directory}/${project.build.finalName}.${project.packaging}"
overwrite="true" todir="${install.dir}" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
下面是项目工作区屏幕抓取
发布于 2014-08-11 21:57:04
正确的方法是将文件添加到src/main/application
,而不是src/main/resources
。您还可以指定不同的earSourceDirectory配置。
发布于 2014-07-09 16:10:15
我建议您在准备包阶段使用Maven资源插件将文件复制到${build.directory}/${project.artifactId}-${project.version}/META-INF文件夹,这是压缩最终EAR的文件夹。准备阶段-包就在耳朵拉上拉链之前。
发布于 2019-09-27 17:51:28
最简单的方法,至少如果它不是EAR (没有尝试过),就是在./src/main/resources中有一个包含所需文件的META-INF目录。当然,这并不能解决您的问题,因为文件是在不同的位置生成的。
https://stackoverflow.com/questions/23026183
复制相似问题