Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Error on add Jasper Report

Posted on 2014-01-05
3
Medium Priority
?
548 Views
Last Modified: 2014-01-13
When i add jasperreport dependency in my pom i get the following error::

Informações: Starting Servlet Engine: Apache Tomcat/7.0.12
java.lang.IllegalAccessError: class org.xml.sax.helpers.SecuritySupport12 cannot access its superclass org.xml.sax.helpers.SecuritySupport
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
      at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
      at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1148)
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1643)
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
      at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:1956)
      at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1919)
      at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1806)
      at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1765)
      at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1751)
      at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1255)
      at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:882)
      at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:317)
      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
      at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5081)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033)
      at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:774)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033)
      at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:620)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)

Searching on internet i find:


The servlet 2.3 spec says (9.6.2 Web Application Classloader):
"The classloader that a container uses to load a servlet in a WAR must not
allow the WAR to override JDK or Java Servlet API classes, and is recommended not to allow Servlets in the WAR visibility of the web containers implementation classes. If a web container has a mechanism for exposing container-wide library JARs to application classloaders, it is recommended that the application classloader be implemented in such a
way that classes packaged within the WAR are able to override classes
residing in containerwide
library JARs."





I've tryed :

http://stackoverflow.com/questions/8470450/why-does-java-to-throw-illegalaccesserror-when-invoking-mxmlc
http://atoksyahcodezz.blogspot.com.br/2013/07/error-java.html 
neste site diz para fazer o que está abaixo:
Tomact 7 Errors
If you receive blow error if you try to deploy your application under Tomcat 7.

java.lang.IllegalAccessError: class javax.activation.SecuritySupport12 cannot access its superclass javax.activation.SecuritySupport

please add metadata-complete="true" in your web.xml to override default properties of 3.0 for annotations.




The metadata-complete attribute of the web-app element in a Web application's deployment descriptor specifies whether the Web descriptor and other related deployment descriptors for this module (such as Web service descriptors) are complete
If servlet version is set to 2.4 or an earlier version, the servlet container does not process any annotations.

If the metadata-complete attribute is missing or is set to false, the default value for Servlet 2.5/3.0, and version is set to 2.5/3.0, the servlet container examines the class files of the application for servlet annotations and supports the annotations


After to put metadata=true i1ve got the error:


Jan 04, 2014 8:59:32 PM org.apache.catalina.core.StandardContext listenerStart
Grave: Exception sending context initialized event to listener instance of class org.jboss.weld.environment.servlet.Listener
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [FacesContext] with qualifiers [@Default] at injection point [[field] @Inject private br.com.confiabilidade.controller.RelatorioItemsDosTecnicosBean.facesContext]
      at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:311)
      at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:280)
      at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:143)
      at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:163)
      at org.jboss.weld.bootstrap.Validator.validateBeans(Validator.java:382)
      at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:367)
      at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:379)
      at org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:182)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4701)
      at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5204)
      at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5199)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:724)

t ve tryed too::

http://osdir.com/ml/JavaServerFaces/2013-07/msg00207.html
Bom... essa parte de dependências de parser XML depende de outras coisas além do jasper. Teste com

            <dependency>
                <groupId>xml-apis</groupId>
                <artifactId>xml-apis</artifactId>
                <version>1.4.01</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
                <version>2.10.0</version>
                <scope>test</scope>
            </dependency>

dependendo das fontes vc pode precisar tbm:

            <dependency>
                <groupId>net.sf.jasperreports</groupId>
                <artifactId>jasperreports-fonts</artifactId>
                <version>4.0.0</version>
            </dependency>
0
Comment
Question by:Rafael_Moreira
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 35

Accepted Solution

by:
girionis earned 2000 total points
ID: 39773586
WELD-001408 Unsatisfied dependencies for type [FacesContext] with qualifiers [@Default] at injection point [[field] @Inject private

The error simply means that the CDI engine does not know how to initialise a FacesContext object, so my guess is that you're trying to inject a FacesContext. If my guess is correct then you simply cannot do it. The FacesContext is not injectable. Therefore I suggest two solutions:

1) Do not inject FacesContext, obtain it by doing FacesContext.getCurrentInstance().
2) Define a producer method as explained here.

import javax.enterprise.inject.Produces;


class FacesContextProducer {

   @Produces @RequestScoped FacesContext getFacesContext() {

      return FacesContext.getCurrentInstance();

   }

}

Open in new window

0
 

Author Closing Comment

by:Rafael_Moreira
ID: 39776980
this solve my problem.
thanks.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Objective of This Article In 1990’s, when I was a budding software professional, I had a lot of confusion about which stream or technology, I had to choose to build my career. In those days, I had lot of confusion like whether to choose System so…
JavaScript has plenty of pieces of code people often just copy/paste from somewhere but never quite fully understand. Self-Executing functions are just one good example that I'll try to demystify here.
The viewer will learn how to dynamically set the form action using jQuery.
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question