]
Denis Forveille commented on JBSEAM-4022:
-----------------------------------------
We are using WebSphere v7.0.0.1 + RSA v7.5.1 with split modules (1 web + 1 JPA +1 EJB) and
we don't have problems like this one
For the web module we put an empty seam.properties in the "src" directory (root
of our java sourecs in RAD) and components.xml in WEB_INF
The seam.properties is copied to the classes dir with the other".class" files
and as the scanner seems to base the "root" path of its search on the location
of the seam.properties file, it works
no need to patch anything for us...
You can also search in the forum for some of my posts where I describe the way we
structure our projects to run with WAS v7.0
Hope this helps.
ComponentScanner fails with classes in WEB-INF/classes on websphere
-------------------------------------------------------------------
Key: JBSEAM-4022
URL:
https://jira.jboss.org/jira/browse/JBSEAM-4022
Project: Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.1.1.GA
Environment: Websphere 7.0 (also reported on Websphere 6.1)
Reporter: John Eckhart
Attachments: classdescriptor.patch
This bug is a follow-on to 2347 which was rejected. Since it doesn't appear possible
to request a bug be "reopened", I've created a new bug to track the
problem.
The problem: When a Seam annotated class is included in a WAR file, the filename of the
class will be "WEB-INF/classes/com/mycompany/MyClass.class". Theoretically, this
IS the filename as the classes are packaged under WEB-INF/classes, however, the
classloader does not recognize/ignore "WEB-INF/classes/" as part of the name
(which is logical, since the classpath includes everything under this directory). This
causes ComponentScanner to throw the following exception: java.lang.NoClassDefFoundError:
WEB-INF.classes.com.mycompany.Myclass
The previous issue was rejected with the following rationale: "This turned out to be
a user error, not a websphere issues. The classpath was correct, but the user put a
META-INF/components.xml in the WAR which causes the scanning error."
However:
Where would the components.xml go if a project is broken into WAR, JAR (for JPA), JAR
(for EJB), and finally EAR (containing the mentioned components)?
Based on the examples I've read for WebSphere , the recommended place for
components.xml is in the WAR file. Moreover, it would stand to reason that including seam
components in the WAR would be beneficial (ie POJO components as backing beans for jsf
pages).
I ran into this issue recently in Websphere 7.0 where I had a Seam managed POJO as a
backing bean to a JSF page. The bean wouldn't load because of the
NoClassDefFoundError. I patched seam to work-around this issue as I didn't see any
other solution (JSF backing beans don't belong in my JPA or EJB layers).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: