Maven不尊重排除

时间:2012-02-24 15:50:31

标签: maven-3

我们在我们的pom中有这个

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.3.2</version>
            <executions>
                <execution>
                    <id>assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <configuration>
                        <excludes>
                            <exclude>app/**</exclude>
                            <exclude>WEB-INF/**</exclude>
                        </excludes>
                    </configuration>
                </execution>
                <execution>
                    <id>assembly-web</id>
                    <phase>package</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <configuration>
                        <classifier>web</classifier>
                        <includes>
                            <include>app/**</include>
                            <include>WEB-INF/**</include>
                        </includes>
                    </configuration>
                </execution>
            </executions>
        </plugin>

当我打开xxx-web.jar时,它看起来像预期的那样,但是当我查看xxx.jar时,它包含所有内容/没有排除任何内容。如果我要将分类添加到第一个插件(带有排除的那个),那么它是否正常工作?

我希望这个工作方式使xxx.jar具有所有类和属性文件,而xxx-web只有jsp / css文件。

3 个答案:

答案 0 :(得分:1)

看看这个maven document中的7.1.6。基本上你需要绑定到默认目标“default-jar”。

HTH

答案 1 :(得分:0)

看看这个:Maven and working with legacy app,你会找到解决问题的完整解决方案。

答案 2 :(得分:0)

你告诉maven用每个<execution>命令执行两次。尝试在同一执行中放入包含和排除。