Maven Ant Tasks: установить артефакт (артефакт: установить) с неизвестным целевым именем файла - PullRequest
0 голосов
/ 15 марта 2011

В моем скрипте Ant я использую задачи Maven Ant для установки артефакта в локальный репозиторий, например:

<target name="installProject">
  <artifact:pom id="mypom" file="${user.dir}/pom.xml" />
  <artifact:install file="target/myproject-1.0.jar">
    <pom refid="mypom"/>
  </artifact:install>
</target>

Что мне не нравится в этом подходе, так это то, что у меня естьчтобы определить имя банки, которую я хочу установить точно: target/myproject-1.0.jar Но что, если имя этой банки изменится?Я хочу иметь более общий подход.Как я могу разрешить Maven Ant Tasks установить все артефакты, которые Maven также установит при запуске mvn clean install в том же каталоге в командной строке (где мне НЕ нужно указывать, какой Jar я хочу установить)?

(да, я также мог бы просто позвонить в Maven с <exec executable="mvn" ...>, но я думаю, что для этого лучше использовать Maven Ant Tasks)

1 Ответ

3 голосов
/ 08 июня 2011

Никто не знает, что создает ваш build.xml, поэтому вам нужно передать нужные имена артефактов в ant.Это можно сделать через свойства project.groupId, project.artifactId, project.version, которые должны быть доступны в вашем элементе antrun.Потом после сборки build.xml работал.Вы можете использовать задание Attachartifact Ant, чтобы прикрепить свои артефакты к Maven.IE

<attachartifact file="${project.build.directory}/${project.artifactId}-${project.version}.jar" type="jar"/>

После этого при выполнении maven install он устанавливает ваши артефакты.

...