March 4, 2013 at 4:59 am #336192
A user has reported seeing the following errors when deploying a Web Project with Report Capabilities to JBoss 6.1:
07:58:01,496 WARN [org.jboss.detailed.classloader.ClassLoaderManager] Unexpected error during load of:org.osgi.service.log.package-info: java.lang.ClassFormatError: Illegal class name "org/osgi/service/log/package-info" in class file org/osgi/service/log/package-info 07:58:04,602 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/MyBirt]] Servlet /MyBirt threw load() exception: org.apache.commons.discovery.DiscoveryException: Class org.apache.commons.logging.impl.SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory 07:58:04,602 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/MyBirt]] Servlet /MyBirt threw load() exception: java.lang.NoClassDefFoundError: Could not initialize class org.apache.axis.transport.http.AxisServlet
Similar problems were reported in an eclipse bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=359678
We are investigating how to get this fixed in MyEclipse but, in the meantime, the following is a possible workaround:
After adding MyEclipse Reports capabilities, look for the file org.eclipse.osgi_3.7.0.v20110613.jar (or similar) in the WEB-INF/lib folder. You will have to use an archive utility such as Winzip to open the jar file. Now look for the org\osgi\service\log\package-info.class file and delete it from the jar file. You might want to save this file, so you can copy it to other report projects that will be deployed to JBoss 6.1, overwriting the original file, without having to delete the class file from it each time.
That deletion will get rid of the first error. Now go to your JBoss server installation and explore the common/lib folder. Look for the jcl-over-slf4j-.jar file and delete it (or move it to a holding folder, if you don’t want to delete it permanently). This should eliminate the other two errors.