2016-05-27 3 views
0

Я пытаюсь использовать муравей, чтобы развернуть ухо на веб-сервере.Ant + Weblogic - CreateProcess error = 206

Я начал со следующим:

<target name="deploy"> 
    <taskdef name="wldeploy" classname="weblogic.ant.taskdefs.management.WLDeploy"> 
    <wldeploy action="deploy" name="projName" source="proj.ear" user="user" password="pass" adminurl="localhost:8050" targets="mytarget"/> 
</target> 

Однако, это дало мне следующую ошибку:

taskdef класс weblogic.ant.taskdefs.management.WLDeploy не может быть найден с помощью classloader AntClassLoader []

Чтобы решить эту проблему, я изменил свой taskdef, включив путь к банку weblogic. Тем не менее, теперь я получаю эту ошибку:

[wldeploy] weblogic.Deployer -debug -verbose -noexit -name TPD -source C: \ Program Files (x86) \ Дженкинс \ работа \ PROJ \ рабочее место \ target \ dist \ proj.ear -targets mytarget -adminurl localhost: 8050 -user user -password pass -deploy

[wldeploy] C: \ Program Files (x86) \ Jenkins \ jobs \ PROJ \ workspace \ build.xml : 574: java.io.IOException: не удается запустить программу "D: \ jdk1.7 \ JRE \ Bin \ java.exe": CreateProcess ошибка = 206, имя файла или его расширение имеет слишком длинное

(выше генерируется Дженкинсом, размещенным на Windows).

У меня такое чувство, что это вызвано банком weblogic, создающим слишком большой путь командной строки Windows, но моя неопытность с Ant вызывает у меня сомнения. Я изучил использование manifestclasspath, но опять-таки неопытность мешает мне эффективно ее реализовать.

Что было бы хорошим способом для этого?

ответ

0

Командная строка DOS является очень ограничивающей в этом отношении. Обходной путь заключается в создании «дорожной банки». Это банка, содержащая только файл anManifest.mf, чья Class-Paths указывает пути диска вашего длинного списка банок и т. Д. Теперь просто добавьте этот путь к вашему пути к командной строке. Это обычно более удобно, чем упаковка фактических ресурсов вместе.

Как я помню, пути к диску могут быть относительно самого контейнера. Так Manifest.mfmight выглядеть примерно так:

Class-Path: this.jar that.jar ../lib/other.jar

Если Pathing баночка содержит в основном фундаментальные ресурсы, то он не будет менять слишком часто, но вы, вероятно, все еще хотите создать его где-то в вашей сборке , Например:

<jar destfile="pathing.jar"> <manifest> <attribute name="Class-Path" value="this.jar that.jar ../lib/other.jar"/> </manifest> </jar>

+0

работал отлично, именно то, что я искал! Спасибо огромное! – chrisInTheHat

Смежные вопросы