Я работаю над проектом по созданию библиотеки, которую мы устанавливаем в репозиторий maven. Когда я просто выполняю «установку mvn», здесь показаны две последние цели, которые он выполняет:
[INFO] --- jar:3.4.1:jar (default-jar) @ soap-api-client ---
[INFO] Building jar: C:\...\git\soap-api-client\target\soap-api-client-2.9.0.jar
[INFO]
[INFO] --- install:3.1.2:install (default-install) @ soap-api-client ---
Это то, что он должен делать.
В настоящее время pom.xml использует «maven-dependent-plugin» для дампа классов из одной зависимости в "${project.build.outputDirectory}" (цель/классы), а также использует "transformer-maven-plugin" для выполнения преобразования "javax->jakarta". Он использует цель «преобразование», что, я думаю, означает, что он преобразует все в целевых объектах/классах.
Я изменил это, чтобы удалить плагин зависимостей, и изменил плагин преобразователя, чтобы использовать « jar», указав артефакт, который я хочу преобразовать, и куда его записать. Затем я использую «maven-antrun-plugin», чтобы разархивировать преобразованный артефакт в «${project.build.testOutputDirectory}» (я думаю, целевые/тестовые классы). Обратите внимание, что это функционально отличается от предыдущего, поскольку ранее классы извлекались в target/classes. Это изменение на самом деле более правильное, поскольку преобразованные классы необходимы только для тестов.
Это изменение отлично работает на этапах компиляции и тестирования. Однако в самом конце сборки я вижу вот это:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:3.1.2:install (default-install) on project soap-api-client: The packaging plugin for project soap-api-client did not assign a file to the build artifact -> [Help 1]
Затем я просмотрел ранее выходные данные сборки и понял, что цель «jar», как показано ранее, не выполняется. Кажется вполне вероятным, что это причина ошибки, но я не знаю, почему внесенные мной изменения приводят к тому, что цель плагина "jar" не выполняется.
Для некоторого кода , вот плагин «зависимости», который есть в исходном коде, но который я удалил в новых изменениях:
org.apache.maven.plugins
maven-dependency-plugin
unpack
unpack
...
CommonOMS_220
1.0.0
${project.build.outputDirectory}
И вот чем я это заменил:
org.eclipse.transformer
transformer-maven-plugin
1.0.0
true
false
${project.build.directory}/transformed
true
CommonOMS_220
jar
generate-sources
...
CommonOMS_220
1.0.0
jar
CommonOMS_220
org.apache.maven.plugins
maven-antrun-plugin
1.8
prepare
process-resources
run
Подробнее здесь: https://stackoverflow.com/questions/790 ... re-install