[
https://issues.jboss.org/browse/SHRINKRES-249?page=com.atlassian.jira.plu...
]
Matous Jobanek commented on SHRINKRES-249:
------------------------------------------
The SWR resolution of some dependencies doesn't mean that the client(test) classloader
will then use the resolved library. It "just" downloads the required library
with or without transitivity and then you are able to put it into the WebArchive. When the
archive is deployed then the library is used as a part of the deployment - inside of the
container. It doesn't effect client side anyhow.
The only possibility is to specify the required library there in your pom.xml file.
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)