Выражения параметров
Об использовании командной строки:
Документация по параметру указывает, что параметр инициализируется значением свойства ${project.build.directory}
(которое относится к целевой папке)
Вот что это значит:
Для моджо, которые предназначены для
выполняется непосредственно из CLI, их
параметры обычно обеспечивают средства для
настраиваться через системные свойства
вместо секции <configuration/>
в ПОМ. Документация по плагину
для этих параметров будут перечислены
выражение, которое обозначает систему
свойства для конфигурации. В
mojo выше, параметр url
связано с выражением
${query.url}
, что означает, что его значение может быть
определяется системным свойством
query.url
как показано ниже:
mvn myquery:query -Dquery.url=http://maven.apache.org
Справка:
Настройка $ {project.build.directory}
Однако ${project.build.directory}
- это не системное свойство, - это свойство Project Build
объекта.
Вы не можете установить внутренние свойства maven непосредственно в командной строке, но вы можете сделать это с небольшим фокусом, добавив заполнители в ваш pom.xml:
<build>
<directory>${dir}</directory>
</build>
Теперь выходной каталог устанавливается через свойство из командной строки (с использованием -Ddir=somedirectory
). Недостаток: теперь всегда нужно использовать параметр -Ddir
в командной строке.
Использование профилей
Но здесь есть и помощь. Просто используйте профиль, если вы хотите настроить каталог:
<profiles>
<profile>
<id>conf</id>
<build>
<directory>${dir}</directory>
</build>
</profile>
</profiles>
Теперь вы можете сделать
# everything goes in someOtherDir instead of target
mvn clean install -Pconf -Ddir=someOtherDir
или старый
# everything goes in target
mvn clean install
Настройка Jar Plugin
Теперь, если вы просто хотите изменить jar outputDirectory из командной строки, не перенаправляя все из цели, мы изменим профиль, чтобы настроить плагин из свойства командной строки:
<profiles>
<profile>
<id>conf</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<outputDirectory>${dir}</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Использование идентично приведенному выше:
# everything goes in someOtherDir instead of target
mvn clean install -Pconf -Ddir=someOtherDir