Java XML文件未移动到jar的META-INF文件夹
我正在用selectes包从代码库中创建一个jar。我还需要将xml文件移动到META-INF文件夹。但我不认为这会发生,尽管我的罐子被创建了Java XML文件未移动到jar的META-INF文件夹,java,maven,maven-jar-plugin,Java,Maven,Maven Jar Plugin,我正在用selectes包从代码库中创建一个jar。我还需要将xml文件移动到META-INF文件夹。但我不认为这会发生,尽管我的罐子被创建了 <build> <resources> <resource> <directory>${project.basedir}/src</directory> <includes> <include>jboss-e
<build>
<resources>
<resource>
<directory>${project.basedir}/src</directory>
<includes>
<include>jboss-ejb3.xml</include>
<include>ejb-jar.xml</include>
</includes>
<targetPath>${project.build.outputDirectory}/META-INF</targetPath>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<includes>
<include>com/**/server/*EJB.class</include>
<include>com/**/common/*Remote.class</include>
</includes>
<!-- <archive> -->
<!-- <addMavenDescriptor>false</addMavenDescriptor> -->
<!-- </archive> -->
</configuration>
</plugin>
</plugins>
${project.basedir}/src
jboss-ejb3.xml
ejb-jar.xml
${project.build.outputDirectory}/META-INF
org.apache.maven.plugins
maven jar插件
3.1.1
com/**/server/*EJB.class
com/**/common/*Remote.class
当我使用Maven资源插件时,我可以看到在目标文件夹中生成的META-INF文件夹。但是在jar中看不到相同的内容,这是通过使用用户建议的
META-INF/**
解决的,为什么不把它们放在src/main/resources/META-INF
中呢?然后它们会被自动添加,无需添加资源插件。我也试过了。当我在不使用任何文件过滤器()的情况下创建一个jar时,这一点非常好。但是当我过滤某些包时,META-INF不会被移动到jar。当你使用include进行过滤时,你必须添加你想要包含的所有内容,包括META-INF
。。。如果某个内容与include筛选器不匹配,它将被排除。但是为什么首先需要一个include过滤器呢?所有的东西都应该是罐子的一部分吗?我也试过了。但结果是一样的。我用的是下面的。src/main/resources/META-INF/jboss-deployment-structure.xml src/main/resources/META-INF/jboss-ejb3.xml com/**/server/*EJB.class com/**/common/*Remote.class您应该拥有META-INF/**/code>而不是src/main/resources/META-INF
,然后应该包含它。但是,为什么首先需要一个include过滤器呢。它过滤目标
目录,而不是源。