Ошибка развертывания на Apache Tomcat / 6.0.24 - PullRequest
1 голос
/ 17 ноября 2011

Я пытаюсь развернуть WAR на указанном сервере приложений tomcat.Однако ниже приводится ошибка, которую я получаю, когда пытаюсь использовать сценарий tomcat manager / ant для развертывания.

java.lang.IllegalStateException: ContainerBase.addChild: start: LifecycleException:  Error initializaing :  java.lang.IllegalArgumentException: The archive [jar:file:/var/lib/tomcat6/webapps/afgretail.war!/] is malformed and will be ignored: an entry contains an illegal path [/]

WAR содержит весенние бины, HTML-страницы, js, изображения, css и т. Д. В настоящее время мы разворачиваем проект, копируя разархивированный проект непосредственно в папку webapps на сервере tomcat, который работает нормально.Однако мы хотели бы выполнить развертывание, используя сценарий ant, разработанный для развертывания файла war на удаленном tomcat.

Разработка была выполнена на платформе Windows, но сервер tomcat находится в Linux (Oracle Enterprise Linux)

Фрагмент, который выполняет развертывание следующим образом:

<!-- Configure the folder and context path for this application -->
<property name="webapp" value="walton" />
<property name="path" value="/walton" />

<!-- Configure properties to access the Manager application -->
<property name="url" value="http://localhost:8080/manager/html" />
<!-- <property name="url" value="http://osm4.afgonline.com.au:8080/manager/html" />-->
<property name="username" value="tomcat" />
<property name="password" value="s3cret" />

<property name="dist.dir" value="dist" />

<property name="webapp.path" value="${dist.dir}/${webapp}" />

<property name="project.path" value="C:/java/workspace/afghl_walton"/>

<path id="deployer.classpath">
    <!--fileset dir="${basedir}/lib"-->
    <fileset dir="C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\">
        <include name="*.jar" />
    </fileset>
</path>

<!-- Configure the custom Ant tasks for the Manager application -->
<taskdef resource="org/apache/catalina/ant/catalina.tasks"
    classpathref="deployer.classpath" />

<target name="deploy" description="Deploy web application">
    <deploy url="${url}" username="${username}" password="${password}"
        path="${path}" war="${project.path}/${webapp.path}.war" update="true" />
</target>

Любая помощь будет оценена.Если требуется дополнительная информация, пожалуйста, дайте мне знать.

Спасибо,

Хуш

Ответы [ 2 ]

1 голос
/ 22 января 2012

У меня была такая же проблема с Tomcat 5.5.34.Я создаю WAR с помощью Ant, и цель WAR содержала следующую задачу:

Префикс вызвал запись jar с именем "/" в пакете war, а начиная с Tomcat 5.5.26 эта запись вызываетисключение при запуске контейнера Tomcat.

Изменение значения атрибута префикса команды war для устранения всех моих проблем.

С уважением, Крис

0 голосов
/ 17 ноября 2011

Просто избегайте одновременного использования out и getOutputStream!

...