Построение java из MSBuild

мы используем MSBuild для запуска нашей сборки, которая компилирует и выводит ряд .NET-проектов / сборок. Теперь мы столкнулись с необходимостью также включить java-версию on наших сборок и не уверены, как мы должны интегрировать построение этого источника java в MSBuild.

всегда есть возможность раскошелиться на командную строку и выполнить компиляцию и jar'ING вручную, но есть ли другие и более элегантные способы потребляя Java-здание в MSBuild?

4 ответов


на Exec task прекрасная вещь. Легкая работа. Не уверен, что это то, что вы подразумеваете под "раскошелиться".


Я использую Microsoft Team Foundation Server построить расширения Power Tool декабрь 2011

Он имеет задачу Ant для MSBuild.

документация кажется скудной, но она получена из Расширения Сборки Teamprise который имеет хорошее руководство pdf.

сообщение@tsu1980 имеет хороший образец кода MSBuild.


создание собственной задачи msbuild для компиляции java возможно (я сделал один для компиляции кода VB6 с MSBuild), но если это хорошая идея, это другой вопрос.. (YAGNI и все такое)

Если обстрел командной строки действительно работает,это может быть просто хорошо.

моя кишка говорит, что раскошелиться на процесс Ant, так как Ant знает немного больше о Java.


Я бы написал пользовательскую задачу для вызова " Ant " из MSBuild.

https://github.com/sumi2/AntTask

вы можете вызвать Ant скрипт, как следующий

<PropertyGroup>
  <JavaHome>$(MSBuildProjectDirectory)\build\tools\jdk1.6.0_25</JavaHome>
  <AntHome>$(MSBuildProjectDirectory)\build\tools\apache-ant-1.8.2</AntHome>
</PropertyGroup>

<!-- Call Ant with 'jar' target. -->
<Ant 
  BuildFile="$(MSBuildProjectDirectory)\YourJavaProject\build.xml"
  Target="jar"
  AntHome="$(AntHome)"
  JavaHome="$(JavaHome)"
 />