Ant+Weblogic-ошибка CreateProcess=206

Я пытаюсь использовать ant для развертывания ear на сервере weblogic.

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

<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.муравей.taskdefs.управление.Не удается найти WLDeploy
использование classloader AntClassLoader[]

Чтобы решить эту проблему, я изменил taskdef, включив путь к WebLogic jar. Однако теперь я получаю эту ошибку :

[wldeploy] weblogic.Deployer-debug-verbose-noexit-name TPD-source C:Program файлы (x86)JenkinsjobsPROJworkspacetargetdistproj.ear-targets mytarget-adminurl localhost: 8050-user user-password pass-deploy

[wldeploy] C:Program файлы (x86)JenkinsjobsPROJworkspacebuild.xml: 574: java.io.IOException: не удается запустить программу «D:jdk1.7jrebinjava.exe»: CreateProcess error=206, слишком длинное имя файла или расширение

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

У меня такое чувство, что это вызвано созданием WebLogic jar classpath, который слишком велик для командной строки Windows, но моя неопытность с Ant дает мне сомнения. Я рассматривал использование manifestclasspath, но опять же неопытность мешает мне эффективно реализовать его.

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

1 ответ

  1. Командная строка DOS очень ограничивает в этом отношении. Обходной путь заключается в создании «pathing jar». Это Банка, содержащая только aManifest.mf-файл, путь к классу которого определяет пути к диску вашего длинного списка jars и т.д. Теперь просто добавьте этот pathing jar к вашей командной строке classpath. Это обычно более удобно, чем упаковка фактических ресурсов вместе.

    Насколько я помню, пути диска могут быть относительно самого pathing jar. Так что Манифест.mfmight выглядит примерно так:

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

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

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