Struts2 showcase does not deploy on JBoss 5.1
---------------------------------------------

                 Key: WW-3181
                 URL: https://issues.apache.org/struts/browse/WW-3181
             Project: Struts 2
          Issue Type: Bug
    Affects Versions: 2.1.6
         Environment: Windows XP, JDK 1.6, JBoss 5.1 GA
            Reporter: Joerg Friedrich


I have tried to deploy the Struts2 showcase (struts2-showcase-2.1.6.war) on 
JBoss 5.1 (out of the box configuration). 

I unzipped the war file into the JBoss server default/deploy/struts.war 
directory (exploded mode).
I started JBoss. Everything went okay.

I modified the WEB-INF/web.xml file and uncommented the following:

        <filter>
            <filter-name>struts</filter-name>
            
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        </filter>   

I again started JBoss and got the following error:

ring.StrutsSpringObjectFactory:31) - ... initialized Struts-Spring integration s
uccessfully
19:39:39,796 ERROR [[/struts]] Exception starting filter struts
java.lang.RuntimeException: java.lang.RuntimeException: com.opensymphony.xwork2.
inject.DependencyException: com.opensymphony.xwork2.inject.ContainerImpl$Missing
DependencyException: No mapping found for dependency [type=java.lang.String, nam
e='actionPackages'] in public void org.apache.struts2.config.ClasspathPackagePro
vider.setActionPackages(java.lang.String).
        at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBui
lder.java:132)
        at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51)
        at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImp
l.java:507)
        at com.opensymphony.xwork2.inject.ContainerImpl$8.call(ContainerImpl.jav
a:540)
        at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerI
mpl.java:574)
        at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImp
l.java:538)
        at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContai
ner(DefaultConfiguration.java:198)
....
....
....
Caused by: java.lang.RuntimeException: com.opensymphony.xwork2.inject.Dependency
Exception: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyExcepti
on: No mapping found for dependency [type=java.lang.String, name='actionPackages
'] in public void org.apache.struts2.config.ClasspathPackageProvider.setActionPa
ckages(java.lang.String).
....

I can change this error by replacing the xworks-2.1.2.jar file in WEB-INF/lib 
with xworks-2.1.3.jar to:

Unable to load configuration. - Class: java.io.File
File: File.java
Method: <init>
Line: 366 - java/io/File.java:366:-1
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(
ConfigurationManager.java:58)
        at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Di
spatcher.java:360)
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:403)
        at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.
java:190)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(Applicatio
nFilterConfig.java:234)
        at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(Applica
tionFilterConfig.java:332)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFi
lterConfig.java:90)
...
...
Caused by: Caught exception while loading file struts-default.xml - Class: java.
io.File
File: File.java
Method: <init>
Line: 366 - java/io/File.java:366:-1
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loa
dConfigurationFiles(XmlConfigurationProvider.java:894)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loa
dDocuments(XmlConfigurationProvider.java:144)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.ini
t(XmlConfigurationProvider.java:111)
        at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContai
ner(DefaultConfiguration.java:164)
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(
ConfigurationManager.java:55)
... 75 more

JBoss has some peculiar classpath handling, so I have played around with that 
as well. For example I have added the following file jboss-web.xml to WEB-INF:

<?xml version="1.0"?>
<!DOCTYPE jboss-web PUBLIC
        "-//JBoss//DTD Web Application 5.0//EN"
        "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd";>

<jboss-web>
  <class-loading java2ClassLoadingCompliance="false">
      <loader-repository>
         com.struts:loader=struts.war
         
<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
      </loader-repository>
  </class-loading>
</jboss-web>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to