User development,

A new message was posted in the thread "java.lang.LinkageError: loader 
constraint violation:(In JAXW":

http://community.jboss.org/message/530886#530886

Author  : Stuart Smith
Profile : http://community.jboss.org/people/stuart_wildcat

Message:
--------------------------------------------------------------
Although it might have worked for some people, I don't think the best solution 
to this is to download anything that alters the JBoss installation.
 
I encountered a similar problem and I figure I would share what is likely a 
better solution as well as an understanding of the original problem...
 
I would bet that most people that have this problem have two to three things in 
common:
- They are using Java SE 6 as the underlying Java SE version
- They have tried to generate service code using the standard Eclipse tools or 
the Sun JAX-WS implementation
- They have not altered the Eclipse configuration of their JBoss server to pick 
up 'endorsed' JARs
 
The problem with this is that many XML and web service APIs that were not in 
Java SE 5 (1.5) were added to Java SE 6.  Java EE 5 however, only requires Java 
SE 5 or above and since you pick your own JRE to run under JBoss some people 
use Java SE 5 and others Java SE 6.  The problem is that the addition of the 
XML and web service APIs in Java SE 6 causes somewhat of a conflict in JBoss.
 
The "best" way to get around this is to use the "JDK6" version of JBoss 
download if you are using a Java SE 6 environment.  If you look at the 
differences between this and the "regular" (Java SE 5) download the main 
difference is the presence of the '<JBOSS>/lib/endorsed' folder.  The startup 
command for the JBoss JDK 6 version basically says "use the JARs in the 
'endorsed' folder because I want to use those instead of the ones provided by 
the Java SE 6 runtime.
 
That wouldn't really matter except that when you generate code using the 
standard Eclipse tools or the Sun JAX-WS implementation it will use the JARs 
from the Java SE 6 environment and create the conflict.  You also might end up 
with extra JARs from things like Axis in your WEB-INF/lib folder which will 
throw things off.
 
If you use the tools provided with JBoss to generate code you should pick up 
the right versions of JARs and not have a problem.
http://community.jboss.org/docs/DOC-13544
 
The third thing you may have to do, only if you are running JBoss from the 
Eclipse 'Servers' view, is to alter the way Eclipse starts JBoss to also pick 
up the 'endorsed' directory.  When you run JBoss from the command line it picks 
up the 'endorsed' directory without any options needed but Eclipse starts JBoss 
in a slightly different way and ignores the 'endorsed' JARs by default.
 
To alter an Eclipse JBoss server definition to pick up the 'endorsed' directory 
when running using Java SE 6:
- Right click the server definition in the 'Servers' view and select 'Open'
- In the 'Overview' information look for a link that will open the "launch 
configuration"
- Select the 'Arguments' tab in the dialog that opens to edit the configuration
- Add the following argument making sure to have a space before the dash at the 
start of the argument and substitute the actual directory you extracted JBoss 
to for <JBOSS> below
  -Djava.endorsed.dirs="<JBOSS>\lib\endorsed"
- Close the launch configuration dialog and the server configuration page.
 
All of these things should help avoid these issues in JBoss without needing to 
resort to patching or replacing the JBossWS implementation shipped with JBoss 
(unless you need to for other reasons).
 
I guess the good thing though is that all of these errors are very specific to 
JBoss web service applications.  If you have a JBoss application that uses Java 
SE 6 but does not use web services you do not need to go through all of these 
steps although using the 'JDK 6' download of JBoss is probably best to do at 
minimum anyway.
 
Hope this helps,
Stuart Smith
Java and Administration Lead
Web Age Solutions
http://www.webagesolutions.com

--------------------------------------------------------------

To reply to this message visit the message page: 
http://community.jboss.org/message/530886#530886


_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to