Как получить MSBuild Exec для запуска Java-программы? - PullRequest
1 голос
/ 31 марта 2010

Я пытаюсь запустить действие командной строки в моем Team Build (MSBuild).

Когда я запускаю его в командной строке машины сборки, он работает нормально. Но при запуске в сценарии сборки я получаю сообщение «завершено с кодом 3».

Это команда, которую я выполняю:

C:\Program Files\Wavelink\Avalanche\PackageBuilder>.\jresdk\bin\java -classpath 
"WLUtil.jar;WLPackageBuilder.jar" com.wavelink.buildpkg.AvalanchePackageBuilder 
/build PackageName

Эта команда работает только при запуске из вышеуказанного каталога (я попытался запустить его из c: \ с полным путем при этом не удается).

Когда я пытаюсь запустить его с помощью ms build, это мое утверждение:

<PropertyGroup>
  <!--Working directory of the Package Builder Call-->
  <PkgBldWorkingDir>&quot;C:\Program Files\Wavelink\Avalanche\PackageBuilder&quot;</PkgBldWorkingDir>

  <!--Command line to run to make Package builder "go"-->
  <PkgBldRun>.\jresdk\bin\java&quot; -classpath &quot;WLUtil.jar;WLPackageBuilder.jar&quot; com.wavelink.buildpkg.AvalanchePackageBuilder</PkgBldRun>

</PropertyGroup>

<!--Run package builder command line to update the Ava File.-->
<Exec ContinueOnError="true" WorkingDirectory="$(PackageBuilderWorkingDir)" 
      Command="$(PkgBldRun) /build PackageName"/>

Как я уже говорил выше, это "выход с кодом 3". Это полный вывод:

Task "Exec"
  Command:
  .\jresdk\bin\java -classpath "WLUtil.jar;WLPackageBuilder.jar" com.wavelink.buildpkg.AvalanchePackageBuilder /build PackageName
  The system cannot find the path specified.
MSBUILD : warning MSB3073: The command ".\jresdk\bin\java -classpath "WLUtil.jar;WLPackageBuilder.jar" com.wavelink.buildpkg.AvalanchePackageBuilder /build PackageName" exited with code 3.
  The previous error was converted to a warning because the task was called with ContinueOnError=true.
  Build continuing because "ContinueOnError" on the task "Exec" is set to "true".
Done executing task "Exec" -- FAILED.

Он говорит, что не может найти файл (кто знает, какой файл).

Есть какие-нибудь идеи о том, как заставить это выполнить действие командной строки в MS Build?

1 Ответ

1 голос
/ 01 апреля 2010

Итак ... вот ответ.

Сначала в моем коде была ошибка.Я определил мой рабочий каталог как PkgBldWorkingDir, но использовал его как PackageBuilderWorkingDir.Это была моя первая ошибка.

Вторая - помещать кавычки в мое свойство рабочего каталога (PkgBldWorkingDir).&quot; все испортило.Не передавайте их при настройке рабочего каталога.Он может обрабатывать пробелы в пути без кавычек.

...