Maven устанавливает изменения jar

Я использую внешнюю программу, которая создает банку. Код для этой операции следующий:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.8</version>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <configuration>
                        <tasks>
                            <property environment="env" />
                            <property name="appname" value="hellojavaworld" />
                            <echoproperties />
                            <exec dir="" executable="respawn.exe" searchpath="true">
                                <arg value="${basedir}\src\main\java\${appname}.app" />
                            </exec>
                        </tasks>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

Созданный jar создается с помощью respawn.exe, который позже используется в процессе сборки. Я хотел использовать наиболее подходящий способ - установить сторонний jar в локальный репозиторий maven. Для этого используется команда:

mvn install: install-file -Dfile...

Это работает как задумано. Я хотел создать файл pom.xml, который будет использоваться во время сборки (parent-child), поэтому созданный jar будет скопирован в локальный репозиторий maven. Я не могу этого сделать, потому что maven создает собственный jar, который копируется в локальный репозиторий. Вопрос в том, как поменять мавен, чтобы использовать разные банки? Я не хочу копировать jar, который создает maven, потому что он отличается от jar, созданного respawn.exe.

Сравнение банок Эта ссылка отображает разницу этих банок. Вы можете видеть, что jar с правой стороны (локальный репозиторий maven) пропускает папку abc с соответствующими классами.

Вопрос почему?

1 ответ

Maven скомпилирует исходные файлы Java (*.java) от src/main/java в target/classes, Эти классы будут упакованы в банку Maven.

PS Здесь показаны только местоположения Maven по умолчанию.

Глядя на ваш вопрос, кажется, у вас нет исходных файлов Java.

Другие вопросы по тегам