[shrinkwrap-issues] [JBoss JIRA] (SHRINKRES-249) Dependency override

Matous Jobanek (JIRA) issues at jboss.org
Wed Jul 13 03:43:00 EDT 2016


    [ https://issues.jboss.org/browse/SHRINKRES-249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13264538#comment-13264538 ] 

Matous Jobanek edited comment on SHRINKRES-249 at 7/13/16 3:42 AM:
-------------------------------------------------------------------

Hi,
the problem is that your {{PermissionServlet.class}} uses {{javax.servlet.http.HttpServlet}} from the library {{org.apache.tomcat.embed:tomcat-embed-core:8.0.3}} which is not compatible with Java 6.
So when your test tries to use this class it fails with the exception {{java.lang.UnsupportedClassVersionError}}. This is nothing that could be caused by the SWR or ShrinkWrap itself; this is standard Java behaviour - you cannot use Java 7 libraries and run them on Java 6.


was (Author: mjobanek):
Hi,
the problem is that your {{PermissionServlet.class}} uses {{javax.servlet.http.HttpServlet}} from the library {{org.apache.tomcat.embed:tomcat-embed-core:8.0.3}}.
So when your test tries to use this class it fails with the exception {{java.lang.UnsupportedClassVersionError}}. This is nothing that could be caused by the SWR or ShrinkWrap itself; this is standard Java behaviour - you cannot use Java 7 libraries and run them on Java 6.

> Dependency override 
> --------------------
>
>                 Key: SHRINKRES-249
>                 URL: https://issues.jboss.org/browse/SHRINKRES-249
>             Project: ShrinkWrap Resolvers
>          Issue Type: Bug
>            Reporter: Bogdan Sikora
>            Assignee: Matous Jobanek
>
> I am trying to build .war with shrinkwrap and jdk1.6 and i am getting 
> {noformat}
> java.lang.UnsupportedClassVersionError: javax/servlet/http/HttpServlet : Unsupported major.minor version 51.0
> 	at java.lang.ClassLoader.defineClass1(Native Method)
> 	at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
> 	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> 	at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
> 	at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
> 	at org.apache.maven.surefire.booter.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:97)
> 	at java.lang.ClassLoader.defineClass1(Native Method)
> 	at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
> 	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> 	at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
> 	at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
> 	at org.apache.maven.surefire.booter.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:97)
> 	at noe.tomcat.rpm.tests.BZ886653.prepareWebApp(BZ886653.groovy:118)
> {noformat}
> which means that JDK1.6 got some JDK1.7 jar and it can't "read them" which is expected coz i have 
> {noformat}
> <dependency>
>             <groupId>org.apache.tomcat.embed</groupId>
>             <artifactId>tomcat-embed-logging-juli</artifactId>
>             <version>8.0.3</version>
>         </dependency>
> {noformat}
> in my pom.xml. I am trying to use shrinkwrap resolver to make shrinkwrap use artifacts from javax.servlet:servlet-api:2.5. It successfully download and put into war 
> {noformat}
> permission.war:
> /WEB-INF/
> /WEB-INF/lib/
> /WEB-INF/lib/servlet-api-2.5.jar
> {noformat}
>  but as soon as shrinkwrap tries to add something is crashes with exception above 
> {noformat}
> WebArchive permissionWar = ShrinkWrap.create(WebArchive, "${app}.war")
>     File[] libs = Maven.resolver().resolve("javax.servlet:servlet-api:2.5").withTransitivity().asFile()
>     permissionWar.addAsLibraries(libs)
> permissionWar.setWebXML(ShrinkWrapHelper.createMinimalWebXml(PermissionServlet.class))
> permissionWar.addClass(PermissionServlet.class)
> {noformat}
> it crashes in .setWebXML() if it isn't there it crashes on addClass()



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the shrinkwrap-issues mailing list