Проблема с war файлом в jboss
При развёртывании war-файла, который был создан в Eclipse JBoss-IDE столкнулся с ошибкой развёртывания архива:
org.jboss.deployment.DeploymentException: String index out of range: 0; - nested throwable: (java.lang.StringIndexOutOfBoundsException: String index out of range: 0)
at org.jboss.web.AbstractWebContainer.init(AbstractWebContainer.java:374)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
...
В результате раскопок интернета было обнаружено, что JBoss плохо реагирует на файлы в которых имя каталога начинается с "/"
архив создавался вот таким файлом:
<project name="Packaging Generator" default="_packaging_generation_">
<target name="_packaging_generation_" depends="N65540"/>
<target name="N65540" description="tbm-web-navigator.war">
<jar destfile="tbm-web-navigator.war">
<zipfileset dir="../tbm-ebusiness-ejb3" prefix="WEB-INF/lib">
<include name="tbm-ebusiness.jar"/>
</zipfileset>
<zipfileset dir="WebContent"/>
<zipfileset dir="build/classes" prefix="/WEB-INF/classes"/>
</jar>
</target>
</project>
ошибка выделена жирным, после того как исправил на prefix="WEB-INF/classes" всё отлично задеплоилось:
16:38:21,321 INFO [TomcatDeployer] deploy, ctxPath=/tbm-web-navigator, warUrl=.../tmp/deploy/tmp3853tbm-web-navigator-exp.war/
org.jboss.deployment.DeploymentException: String index out of range: 0; - nested throwable: (java.lang.StringIndexOutOfBoundsException: String index out of range: 0)
at org.jboss.web.AbstractWebContainer.init(AbstractWebContainer.java:374)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
...
В результате раскопок интернета было обнаружено, что JBoss плохо реагирует на файлы в которых имя каталога начинается с "/"
архив создавался вот таким файлом:
<project name="Packaging Generator" default="_packaging_generation_">
<target name="_packaging_generation_" depends="N65540"/>
<target name="N65540" description="tbm-web-navigator.war">
<jar destfile="tbm-web-navigator.war">
<zipfileset dir="../tbm-ebusiness-ejb3" prefix="WEB-INF/lib">
<include name="tbm-ebusiness.jar"/>
</zipfileset>
<zipfileset dir="WebContent"/>
<zipfileset dir="build/classes" prefix="/WEB-INF/classes"/>
</jar>
</target>
</project>
ошибка выделена жирным, после того как исправил на prefix="WEB-INF/classes" всё отлично задеплоилось:
16:38:21,321 INFO [TomcatDeployer] deploy, ctxPath=/tbm-web-navigator, warUrl=.../tmp/deploy/tmp3853tbm-web-navigator-exp.war/