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.IllegalAccessErr
or: class org.xml.sax.helpers.Securi
tySupport1
2 cannot access its superclass org.xml.sax.helpers.Securi
tySupport
at java.lang.ClassLoader.defi
neClass1(N
ative Method)
at java.lang.ClassLoader.defi
neClass(Cl
assLoader.
java:792)
at java.security.SecureClassL
oader.defi
neClass(Se
cureClassL
oader.java
:142)
at org.apache.catalina.loader
.WebappCla
ssLoader.f
indClassIn
ternal(Web
appClassLo
ader.java:
2818)
at org.apache.catalina.loader
.WebappCla
ssLoader.f
indClass(W
ebappClass
Loader.jav
a:1148)
at org.apache.catalina.loader
.WebappCla
ssLoader.l
oadClass(W
ebappClass
Loader.jav
a:1643)
at org.apache.catalina.loader
.WebappCla
ssLoader.l
oadClass(W
ebappClass
Loader.jav
a:1521)
at org.apache.catalina.startu
p.ContextC
onfig.chec
kHandlesTy
pes(Contex
tConfig.ja
va:1956)
at org.apache.catalina.startu
p.ContextC
onfig.proc
essAnnotat
ionsStream
(ContextCo
nfig.java:
1919)
at org.apache.catalina.startu
p.ContextC
onfig.proc
essAnnotat
ionsJar(Co
ntextConfi
g.java:180
6)
at org.apache.catalina.startu
p.ContextC
onfig.proc
essAnnotat
ionsUrl(Co
ntextConfi
g.java:176
5)
at org.apache.catalina.startu
p.ContextC
onfig.proc
essAnnotat
ions(Conte
xtConfig.j
ava:1751)
at org.apache.catalina.startu
p.ContextC
onfig.webC
onfig(Cont
extConfig.
java:1255)
at org.apache.catalina.startu
p.ContextC
onfig.conf
igureStart
(ContextCo
nfig.java:
882)
at org.apache.catalina.startu
p.ContextC
onfig.life
cycleEvent
(ContextCo
nfig.java:
317)
at org.apache.catalina.util.L
ifecycleSu
pport.fire
LifecycleE
vent(Lifec
ycleSuppor
t.java:119
)
at org.apache.catalina.util.L
ifecycleBa
se.fireLif
ecycleEven
t(Lifecycl
eBase.java
:89)
at org.apache.catalina.core.S
tandardCon
text.start
Internal(S
tandardCon
text.java:
5081)
at org.apache.catalina.util.L
ifecycleBa
se.start(L
ifecycleBa
se.java:14
5)
at org.apache.catalina.core.C
ontainerBa
se.startIn
ternal(Con
tainerBase
.java:1033
)
at org.apache.catalina.core.S
tandardHos
t.startInt
ernal(Stan
dardHost.j
ava:774)
at org.apache.catalina.util.L
ifecycleBa
se.start(L
ifecycleBa
se.java:14
5)
at org.apache.catalina.core.C
ontainerBa
se.startIn
ternal(Con
tainerBase
.java:1033
)
at org.apache.catalina.core.S
tandardEng
ine.startI
nternal(St
andardEngi
ne.java:29
1)
at org.apache.catalina.util.L
ifecycleBa
se.start(L
ifecycleBa
se.java:14
5)
at org.apache.catalina.core.S
tandardSer
vice.start
Internal(S
tandardSer
vice.java:
443)
at org.apache.catalina.util.L
ifecycleBa
se.start(L
ifecycleBa
se.java:14
5)
at org.apache.catalina.core.S
tandardSer
ver.startI
nternal(St
andardServ
er.java:72
7)
at org.apache.catalina.util.L
ifecycleBa
se.start(L
ifecycleBa
se.java:14
5)
at org.apache.catalina.startu
p.Catalina
.start(Cat
alina.java
:620)
at sun.reflect.NativeMethodAc
cessorImpl
.invoke0(N
ative Method)
at sun.reflect.NativeMethodAc
cessorImpl
.invoke(Na
tiveMethod
AccessorIm
pl.java:57
)
at sun.reflect.DelegatingMeth
odAccessor
Impl.invok
e(Delegati
ngMethodAc
cessorImpl
.java:43)
at java.lang.reflect.Method.i
nvoke(Meth
od.java:60
6)
at org.apache.catalina.startu
p.Bootstra
p.start(Bo
otstrap.ja
va:303)
at org.apache.catalina.startu
p.Bootstra
p.main(Boo
tstrap.jav
a: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.IllegalAccessErr
or: class javax.activation.SecurityS
upport12 cannot access its superclass javax.activation.SecurityS
upport
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.S
tandardCon
text listenerStart
Grave: Exception sending context initialized event to listener instance of class org.jboss.weld.environment
.servlet.L
istener
org.jboss.weld.exceptions.
Deployment
Exception:
WELD-001408 Unsatisfied dependencies for type [FacesContext] with qualifiers [@Default] at injection point [[field] @Inject private br.com.confiabilidade.cont
roller.Rel
atorioItem
sDosTecnic
osBean.fac
esContext]
at org.jboss.weld.bootstrap.V
alidator.v
alidateInj
ectionPoin
t(Validato
r.java:311
)
at org.jboss.weld.bootstrap.V
alidator.v
alidateInj
ectionPoin
t(Validato
r.java:280
)
at org.jboss.weld.bootstrap.V
alidator.v
alidateBea
n(Validato
r.java:143
)
at org.jboss.weld.bootstrap.V
alidator.v
alidateRIB
ean(Valida
tor.java:1
63)
at org.jboss.weld.bootstrap.V
alidator.v
alidateBea
ns(Validat
or.java:38
2)
at org.jboss.weld.bootstrap.V
alidator.v
alidateDep
loyment(Va
lidator.ja
va:367)
at org.jboss.weld.bootstrap.W
eldBootstr
ap.validat
eBeans(Wel
dBootstrap
.java:379)
at org.jboss.weld.environment
.servlet.L
istener.co
ntextIniti
alized(Lis
tener.java
:182)
at org.apache.catalina.core.S
tandardCon
text.liste
nerStart(S
tandardCon
text.java:
4701)
at org.apache.catalina.core.S
tandardCon
text$1.cal
l(Standard
Context.ja
va:5204)
at org.apache.catalina.core.S
tandardCon
text$1.cal
l(Standard
Context.ja
va:5199)
at java.util.concurrent.Futur
eTask.run(
FutureTask
.java:262)
at java.util.concurrent.Threa
dPoolExecu
tor.runWor
ker(Thread
PoolExecut
or.java:11
45)
at java.util.concurrent.Threa
dPoolExecu
tor$Worker
.run(Threa
dPoolExecu
tor.java:6
15)
at java.lang.Thread.run(Threa
d.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</arti
factId>
<version>1.4.01</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</ar
tifactId>
<version>2.10.0</version>
<scope>test</scope>
</dependency>
dependendo das fontes vc pode precisar tbm:
<dependency>
<groupId>net.sf.jasperrepo
rts</group
Id>
<artifactId>jasperreports-
fonts</art
ifactId>
<version>4.0.0</version>
</dependency>
thanks.