Maven将src/main/resources/services文件夹复制到/ META-INF

use*_*339 1 maven-2

编辑

好的我现在可以更具体了:

我在我的scr/main/resources中有一个文件夹META-INF,它包含服务 /javax.annotation.processing.Processor

我的pom仍然是相同的(评论).如果我执行"mvn clean install",输出jar将只包含META-INF文件夹.

但是,如果我重命名文件夹服务,输出jar包含我的类和带有新重命名文件夹及其内容的META-INF文件夹.


我想 - 对于普通的maven2用户来说,这是一个简单的问题.我有一个简单的子项目这个简单的pom

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>aida</groupId>
  <version>0.0.1-SNAPSHOT</version>
  <artifactId>aida-annotationProcessors</artifactId>
  <packaging>jar</packaging>
  <name>AIDA Annotation Processors</name>


  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>    
            </plugin>
        </plugins>
<!--        <resources> -->
<!--            <resource> -->
<!--                <directory>src/main/resources/services</directory> -->
<!--                <targetPath>META-INF/services</targetPath> -->
<!--            </resource> -->
<!--        </resources> -->
    </build>

    <dependencies>
    </dependencies>

</project>
Run Code Online (Sandbox Code Playgroud)

我的目标很简单:我只想在我生成的jar的{root}/META-INF/services文件夹中复制我的src/main/resources/services/javax.annotation.processing.Processor文件.

但是,如果我取消注释资源部分,我的jar将只包含一个没有类的META-INF文件夹!

你可以帮帮我吗?

小智 6

这是maven编译器插件中的错误/功能..

http://jira.codehaus.org/browse/MCOMPILER-97

解决方法是禁用包含处理器的项目的注释处理,-proc:none.