Предотвращение запуска maven bundle без сохранения в eclipse 4.2
В моей рабочей области eclipse сохранение файла в редакторе java заставляет m2e запускать defaultGoal (install) для проекта, что включает переписывание файла MANIFEST.MF. Поскольку я использую другой плагин, у которого нет коннектора m2e (maven-scr-plugin), это делает мой файл манифеста бесполезным.
То, что я хотел бы сделать, это предотвратить запуск maven-bundle-plugin при сохранении, и до сих пор я нашел два возможных решения:
Вы можете редактировать отображения жизненного цикла eclipse, но по какой-то причине это просто не сработает (я так думаю):
<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<versionRange>[0.0,)</versionRange>
<goals>
<goal>instructions</goal>
<goal>bundle</goal>
<goal>manifest</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
В качестве альтернативы, изменение defaultGoal
в моем pom.xml <build>
что-то вроде compile
также означало бы, что я не достиг точки, где плагин пакета включается, но я действительно не хотел бы менять свой pom из-за особенности затмения.
Есть ли способ определить defaultGoal для плагина m2e? Ребята, у вас есть другой подход к этому? Спасибо!
2 ответа
Пока единственное решение, которое я нашел (но которое на самом деле работает), это настройка <defaultGoal>
в compile
в моем родительском пом. Это решает проблему, но, как сказано в вопросе, это далеко не оптимально, потому что она распространяет затмение в независимую от IDE сборку.
Вы можете использовать свой собственный файл манифеста, как описано в http://maven.apache.org/shared/maven-archiver/examples/manifestFile.html