maven не перепаковывает зависимости - PullRequest
1 голос
/ 04 января 2012

Я использую плагин для сборки maven, чтобы собрать все зависимости в один файл jar.Как я могу сказать maven, чтобы он не перепаковывал зависимости и не включал их в качестве файлов JAR в результирующий файл JAR?

В настоящее время я использую следующую конфигурацию плагина.

my-jar-with-dependencies.jar
|-dependency1.jar
|-|-class1.class
|-dependency2.jar
|-|-class2.class
|-...........

, а не

my-jar-with-dependencies.jar
|-class1.class
|-class2.class
|-.............

1 Ответ

0 голосов
/ 04 января 2012

Если я правильно понял вопрос, вы хотите указать, когда плагин сборки должен запускаться или нет. В этом случае вам следует подумать о создании профиля сборки и добавить конфигурацию подключаемого модуля сборки в новый профиль.

В pom.xml добавить:

<project>
...
 <profiles>
    <profile>
        <id>myprofile</id>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>package.Program</mainClass>
                            </manifest>
                        </archive>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
 </profiles>
...
</project>

Когда вы хотите, чтобы maven запустил плагин сборки, вы можете использовать ключ -P для сценария 'mvn', например так:

mvn -Pmyprofile clean package
...