Расширение Quarkus: можно ли объединить JAR-файлы среды выполнения и развертывания в один артефакт?JAVA

Программисты JAVA общаются здесь
Anonymous
Расширение Quarkus: можно ли объединить JAR-файлы среды выполнения и развертывания в один артефакт?

Сообщение Anonymous »

Расширение Quarkus использует многомодульную структуру Maven. Минимальный пример:

Код: Выделить всё

quarkus-extension
├── integration-tests
│   └── pom.xml
├── deployment
│   └── pom.xml
├── runtime
│   └── pom.xml
└── pom.xml
Каждый модуль создает свой собственный JAR-файл под целевой, например:

Код: Выделить всё

quarkus-extension
├── integration-tests
│   └── target/quarkus-extension-integration-tests-1.0.0-SNAPSHOT.jar
├── deployment
│   └── target/quarkus-extension-deployment-1.0.0-SNAPSHOT.jar
├── runtime
│   └── target/quarkus-extension-1.0.0-SNAPSHOT.jar
Чтобы использовать расширение, мне сейчас нужно развернуть как минимум три артефакта:
  • Родительский pom.xml
  • JAR расширения времени выполнения (

    Код: Выделить всё

    quarkus-extension-1.0.0-SNAPSHOT.jar
    )
  • JAR расширения развертывания (

    Код: Выделить всё

    quarkus-extension-deployment-1.0.0-SNAPSHOT.jar
    )
Используя Flatten-maven-plugin, я могу исключить родительский POM из развертывания, не влияя на поведение расширения во время выполнения:

Код: Выделить всё

org.codehaus.mojo
flatten-maven-plugin
1.7.3


flatten
process-resources

flatten



flatten.clean
install

clean




Однако мне не удалось объединить следующие два JAR-файла в один артефакт: Я попробовал и maven-assembly-plugin, и maven-shade-plugin, но ни один из подходов не сработал успешно.
Вопрос
Можно ли (и поддерживается) упаковать как среду выполнения, так и часть развертывания расширения Quarkus в один Артефакт JAR?

Вернуться в «JAVA»