#java #maven #pom.xml
Вопрос:
Мне нужно определить некоторые дополнительные свойства, которые будут использоваться в конфигурациях плагинов maven (pom.xml). Возможно ли это программным способом с использованием кода Java? Цель exec:java, по-видимому, запускает код непосредственно внутри процесса maven. Есть ли какой-нибудь способ использовать это?
Мне нужно свойство project basedir с прямыми косыми чертами, чтобы я мог использовать его в ресурсе скрипта CLI wildfly для настройки ресурса базы данных WildFly. Ресурс базы данных должен указывать на абсолютный путь, т. е. Создать выходной каталог или basedir.
Это сценарий:
/subsystem=datasources/data-source=MyDS:add(
jndi-name=java:jboss/datasources/MyDS,
driver-name=h2,connection-url="jdbc:h2:file:${basedir}/db;
TRACE_LEVEL_SYSTEM_OUT=0",user-name=sa,
validate-on-match=true,background-validation=false,
driver-class=org.h2.Driver)
Ответ №1:
Нет простого способа сделать это, афаик. Maven-отличный инструмент, пока вы уважаете то, как он работает, если вы этого не сделаете, вас ждут неприятности. Возможно, вы могли бы добавить еще несколько деталей к своему вопросу, чтобы мы могли понять, что вам действительно нужно.
Что я могу придумать, так это использовать плагин GMaven или плагин AntRun для встраивания кода Groovy или ant в ваш pom.xml. Оба они могут взаимодействовать с объектом проекта, что означает, что они могут манипулировать свойствами. Но это будет нелегко, и ваш пробег может отличаться.
Комментарии:
1. gmaven-плагин больше не работает с java 16. Я добавлю кое-какую информацию.
2. есть проект по переписыванию, вы пробовали это сделать? github.com/groovy/GMavenPlus
3. Что ж, тогда, пожалуй, я попробую это сделать. Хотя я бы предпочел не использовать еще один язык. И особенно заводной — в основном Javascript без широкого распространения — я просто ничего не могу там найти.
4. Нет, groovy-это в основном интерпретируемая Java с некоторыми изящными дополнениями. Я скептически отношусь к производственному коду, но для сборки groovy попадает в самую точку: вы получаете полную функциональность Java, но с простотой использования языка сценариев. Я использовал GMaven в течение многих лет, и у меня никогда не было никаких проблем
5. Используете ли вы какую-либо помощь с кодом для Groocy? Как? Какая IDE?