Looks like it's related to this jira:
The problem they fixed there in Struts-2.2.2
was that it had support for
Jboss URL protocols vfszip: and vfsmemory:
but not for vfsfile:
So vfsfile: was added in this fix.
But now... in my error msg above it complaints with another protocol, vfs:
Is vfs: by any chance, something that was recently added in Jboss6, and now need to add that, too, in Struts2 ?
I downloaded the source-code for org.apache.struts.xwork : xwork-core
and built a custom-version where I added protocol "vfs" in URLUtil.java
And finally, the Struts2-application runs OK in Jboss-6.
But what an ordeal...
I just wonder... since google didnt turn this up...
am I the first person in the universe to discover that Struts2 doesnt work with Jboss6 ?
Today I had some issues deploying my Struts 2 application on JBoss 6 and found this message.
I am using Struts 18.104.22.168 and the convention-plugin. Because of the vfs JBoss error, my action classes cannot be found. "There is no Action mapped for namespace xxx and action xxx.". So it is not in all circumstances a warning only.
It is fixed in Struts 2.3 (see Jira link), but unfortunately that version has other issues with JBoss 6. It has something to do with javassist that is now part of ognl. JBoss provides its own version of javassist that clashes with ognl's version.
which Javassist version is bundled with Struts 2.3? Does it help to simply remove it and rely on the Javassist 3.12.0 bundled with JBoss 6.1.0?
If not: you might take a look at JBoss classloading: http://community.jboss.org/wiki/JBossClassLoaderIntroduction
I solved my issue with Struts2. Indeed Javassis 3.12.0.GA is included through struts2-core 2.2.3 -> ognl 3.0.1.
I have changed my pom.xml to include a dependency for Javassist with scope "provided". The resulting war does not include javassist.jar now. During startup, everything is fine.
See also this thread of the Struts-Dev mailing list for details: