Как я могу удалить артефакты Maven из папки lib уха? - PullRequest
1 голос
/ 02 марта 2011

Как я могу удалить артефакты из папки lib уха?Например: Activation.jar.

Я пытался следовать спецификации около Исключая модуль (просто измените webModule на jarModule), но без этой ошибки: Artifact[jar:javax.activation:activation] is not a dependency of the project.

Ответы [ 3 ]

1 голос
/ 02 марта 2011

Установите scope на provided. Maven по-прежнему будет добавлять зависимость в classpath времени компиляции, но не в окончательный WAR.

1 голос
/ 02 марта 2011

Используйте provided в качестве области действия, где бы ни была определена зависимость.

<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
    <scope>provided</scope>
</dependency>
0 голосов
/ 02 марта 2011

Как уже говорили другие, вам нужно использовать provided в качестве области действия.Если банки, которые нужно удалить, не являются зависимостями вашего проекта напрямую (т.е. являются переходными зависимостями), то вам необходимо исключить их из всего, что приводит их в вашу сборку.Если вы действительно нуждаетесь в этих классах во время компиляции, вам придется повторно включить их как provided:

    <dependency>
        <!-- this dependency has javax.activation as a dependency -->
        <groupId>blah.groupId</groupId>
        <artifactId>blah.artifactId</artifactId>
        <version>blah.version</version>
        <exclusions>
            <exclusion>
                <groupId>javax.activation</groupId>
                <artifactId>activation</artifactId>
            <exclusion>
        </exclusions>
    </dependency>

    <!-- only necessary if this jar is needed at compile-time -->
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
        <scope>provided</scope>
    </dependency>
...