olá pessoal
tenho um pagina jsp bem simples, que apenas imprime “alo mundo”
quando rodo localhost funciona
quando roda no meu servidor, roda 100 %
dae outra classe, que eu uso para chamar um relatorio .jasper e abrir ele via pdf
local funciona
na web não
na web da o seguinte erro
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Cannot allocate servlet instance for path /web/servlet/ExecutaRelatorio
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:389)
org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:134)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
root cause
java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/JRException
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
java.lang.Class.getConstructor0(Class.java:2699)
java.lang.Class.newInstance0(Class.java:326)
java.lang.Class.newInstance(Class.java:308)
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:370)
org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:134)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
root cause
java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JRException
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1362)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
java.lang.Class.getConstructor0(Class.java:2699)
java.lang.Class.newInstance0(Class.java:326)
java.lang.Class.newInstance(Class.java:308)
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:370)
org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:134)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5 logs.
Apache Tomcat/5.5
parece que ele não esta encontrando o jar do ireport
mas a estrutura que testo localhost é a mesma do servidor
e os arquivos estão atualizados, sem erros
sim
eu deleto a pasta e depois mando toda ela
pasta \webapps\curso por exemplo, mando a pasta curso
vai a web-inf, o web.xml, a pasta classes e a lib
é a mesma pasta que eu rodo local
o jar do jasperrepot está na lib do servidor? Pois o erro acusado é que a classe não net.sf.jasperreports.engine.JRException não foi encontrada, por isso acho que o jar não está no servidor, ou então por algum motivo o servidor não está reconhecendo o jar, tente reestartar o servidor, ou deployar todo o pacote novamente. Porque isso esta muito estranho mesmo.
Na linha 115 da sua classe Codigo_barra.java, você está tentando acessar pegar um pedaço de String usando um índice inválido.
Posta o código do Codigo_barra.java que dará para explicar melhor.
mas e porque que local funciona ?
só da esse erro na web …
se fosse erro de programação teoricamente daria erro local
fiz um erro bobo e dae local apareceu
mas esse só na web
em todo caso segue o fonte
BigDecimal valor100 = new BigDecimal(100.00);
BigDecimal valor1 = new BigDecimal(35.00); ;
valor1 = valor1.multiply(valor100) ;
String bigtostring = valor1.toString();
int tamanhovalor = bigtostring.length();
tamanhovalor = (tamanhovalor - 3 ) ;
String esse = bigtostring.substring(0,tamanhovalor );
int preenchidos1 = esse.length();
int preencher1 = 10 - preenchidos1;
String preenche_zero1 = "" ;
for ( int i1 = 0 ; i1 < preencher1 ; i1++ ) {
preenche_zero1 += "0" ;
}
String correto1 = preenche_zero1 + esse;
Este trecho de código não contém erros.
Mas o log q vc mostrou dizia:
java.lang.StringIndexOutOfBoundsException: String index out of range: -2
java.lang.String.substring(String.java:1937)
classe.Codigo_barra.<init>(Codigo_barra.java:115)
...
Indicando erro na linha 115 do Codigo_barra.
Supondo que o trecho que você enviou contenha a linha 115 do seu arquivo .java, e como você disse que localmente funciona e no servidor dá erro, então provavelmente você está com duas versões diferentes. Uma rodando no servidor e uma local.
Como você disse que faz deploy jogando o que tem diretamente no servidor, pode ser necessário:
reiniciar o servidor de aplicação (só o container)
ou
apagar a pasta work, cache, … este tipo de coisa
Vc chegou a fazer isto?