Dúvida em migraçáo de servidor com Sistema em Java JSP

Olá à todos!

Boa tarde.

Trabalho em um local em que preciso fazer uma migração para outro servidor de um sistema de protocolo feito em Java JSP que acessa banco Oracle.

A minha situação está complicada porque a pessoa que fez o sistema já não mais trabalha aqui e o responsável pela guarda dos servidores, me deu o prazo de até dia 30/06/2009 para que eu atualize o sistema operacional deste servidor e reinstale este sistema de protocolo nele novamente.

A minha situação atual é:

Hoje este servidor com o sistema de protocolo roda deste jeito abaixo:

Sistema Operacional: Fedora Core 4
JDK: 1.5.0_04
Tomcat: jakarta-tomcat-5.0.28
J2EE: sjsas_pe-8_1_02_2005Q2-linux-ml.bin (Náo sei a versão, só sei que é velha!)

Mas eu preciso transpor este sistema para o meu servidor atual que roda com:

Sistema Operacional: Debian 5
JDK: 1.6.0_12
Tomcat: Apache-Tomcat 6.0.18
J2EE: j2eesdk-1_4_03-linux-ml.bin (A mais atual que encontrei até agora)

Alguém pode ajudar? :cry:

Já fiz tudo quanto é tipo de teste em minha máquina virtual, mas não consigo obter êxito e sempre tenho este retorno de erro no meu tomcat:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 475 in the jsp file: /controller.jsp
SessaoListener cannot be resolved to a type
472: ---------------------------------------------------------- */
473: // O objeto SessaoListener i responsavel pelas rotinas de inicio e tirmino da sessao
474: // I usado para remover o usuario da lista de usuarios do bojeto ControleAcesso
475: SessaoListener objSessaoListener = (SessaoListener) session.getAttribute( “SISTEMA.CONTROLESESSAO” );
476: if (objSessaoListener == null) {
477: objSessaoListener = new SessaoListener( session.getId(), request.getRemoteAddr() );
478: session.setAttribute( “SISTEMA.CONTROLESESSAO”, objSessaoListener );

An error occurred at line: 475 in the jsp file: /controller.jsp
SessaoListener cannot be resolved to a type
472: ---------------------------------------------------------- */
473: // O objeto SessaoListener i responsavel pelas rotinas de inicio e tirmino da sessao
474: // I usado para remover o usuario da lista de usuarios do bojeto ControleAcesso
475: SessaoListener objSessaoListener = (SessaoListener) session.getAttribute( “SISTEMA.CONTROLESESSAO” );
476: if (objSessaoListener == null) {
477: objSessaoListener = new SessaoListener( session.getId(), request.getRemoteAddr() );
478: session.setAttribute( “SISTEMA.CONTROLESESSAO”, objSessaoListener );

An error occurred at line: 477 in the jsp file: /controller.jsp
SessaoListener cannot be resolved to a type
474: // I usado para remover o usuario da lista de usuarios do bojeto ControleAcesso
475: SessaoListener objSessaoListener = (SessaoListener) session.getAttribute( “SISTEMA.CONTROLESESSAO” );
476: if (objSessaoListener == null) {
477: objSessaoListener = new SessaoListener( session.getId(), request.getRemoteAddr() );
478: session.setAttribute( “SISTEMA.CONTROLESESSAO”, objSessaoListener );
479: }
480:

An error occurred at line: 494 in the jsp file: /controller.jsp
ControleAcesso cannot be resolved to a type
491: // O usuario ja fez login?
492: // (sempre tem que testar, mesmo se o usuario ja esta identificado na sessco)
493: String strUsuario = “”;
494: ControleAcesso ca = ControleAcesso.getInstance();
495: boolean bUserLogin = false;
496:
497: try {

An error occurred at line: 494 in the jsp file: /controller.jsp
ControleAcesso cannot be resolved
491: // O usuario ja fez login?
492: // (sempre tem que testar, mesmo se o usuario ja esta identificado na sessco)
493: String strUsuario = “”;
494: ControleAcesso ca = ControleAcesso.getInstance();
495: boolean bUserLogin = false;
496:
497: try {

An error occurred at line: 517 in the jsp file: /controller.jsp
The type br.gov.es.serra.exception.FinderException cannot be resolved. It is indirectly referenced from required .class files
514: // Carregar dados do usuario
515: CUsuario objUsuario = null;
516: try {
517: objUsuario = CUsuario.findByCodigo( strUsuario );
518:
519: session.setAttribute( “SISTEMA.IDUSUARIO”, objUsuario.getId() );
520: session.setAttribute( “SISTEMA.USUARIO”, strUsuario );

Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:317)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:696)
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:667)
org.apache.jsp.index_jsp._jspService(index_jsp.java:60)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.

ao que parece estão faltando bibliotecas

Verifica no server antigo se tinha no \shared\lib alguma .jar

e no sistema verifica o classpath.

[quote=Puka]ao que parece estão faltando bibliotecas

Verifica no server antigo se tinha no \shared\lib alguma .jar

e no sistema verifica o classpath.[/quote]

Olá amigo! Muito obrigado por sua resposta. :wink:

Nào lhe respondi ontem porque persisti sobre suas dicas e acabei nào tendo progresso. Perguntei a algumas pessoas sobre o que poderia ser e me disseram que estes erros de “SessaoListener” significam que nao esta sendo possível a conexao com o banco, mas a primeira tela de abertura do sistema é de login e senha e suponho que nao precise conectar no banco nesta hora.

Sobre a share\lib, existem umas pastas chamadas server\lib e common\lib que ficam dentro do tomcat e lá tem um monte de .jar, mas nao sei como e o que seria responsável por este problema que está ocorrendo. A estrutura da pasta tomcat é seguinte:

bin
common
conf
lib
LICENSE
logs
modules
NOTICE
RELEASE-NOTES
RUNNING.txt
server
shared
temp
webapps
work

Sendo que dentro de webapps fica o sistema.

Sobre o classpath, nao encontrei nenhuma variável de ambiente de classpath no servidor onde esta hospedado o sistema de protocolo. Logo abaixo eu listo todas as variáveis de ambiente deste servidor e mais abaixo eu listo todas as variaveis de ambiente do servidor que estou tentando reproduzir:

[color=blue][size=18]Há alguma coisa que eu possa fazer?[/size][/color]

Variáveis de ambiente do servidor de protocolo (Fedora 4):

HOSTNAME=srvaplic05
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=::ffff:172.16.0.36 45058 22
SSH_TTY=/dev/pts/1
USER=root
LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:.cmd=00;32:.exe=00;32:.com=00;32:.btm=00;32:.bat=00;32:.sh=00;32:.csh=00;32:.tar=00;31:.tgz=00;31:.arj=00;31:.taz=00;31:.lzh=00;31:.zip=00;31:.z=00;31:.Z=00;31:.gz=00;31:.bz2=00;31:.bz=00;31:.tz=00;31:.rpm=00;31:.cpio=00;31:.jpg=00;35:.gif=00;35:.bmp=00;35:.xbm=00;35:.xpm=00;35:.png=00;35:.tif=00;35:
KDEDIR=/usr
TNS_ADMIN=/usr/oracle
MAIL=/var/spool/mail/root
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/java/java/bin:/root/bin
INPUTRC=/etc/inputrc
PWD=/root
JAVA_HOME=/usr/java/java
LANG=en_US.UTF-8
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=::ffff:172.16.0.36 45058 ::ffff:172.16.0.26 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/bin/env

Variáveis de ambiente do servidor que estou reproduzindo (Debian 5):

GPG_AGENT_INFO=/tmp/seahorse-wiQzbV/S.gpg-agent:2660:1
SHELL=/bin/bash
DESKTOP_STARTUP_ID=
TERM=xterm
GTK_RC_FILES=/etc/gtk/gtkrc:/home/bender/.gtkrc-1.2-gnome2
WINDOWID=41946405
USER=bender
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.svgz=01;31:.arj=01;31:.taz=01;31:.lzh=01;31:.lzma=01;31:.zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.bz2=01;31:.bz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.rar=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.jpg=01;35:.jpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.aac=00;36:.au=00;36:.flac=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:
SSH_AUTH_SOCK=/tmp/keyring-Wm6Obm/ssh
GNOME_KEYRING_SOCKET=/tmp/keyring-Wm6Obm/socket
SESSION_MANAGER=local/srvweb02:/tmp/.ICE-unix/2603
USERNAME=bender
TNS_ADMIN=/usr/oracle
DESKTOP_SESSION=default
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/java/java/bin:/usr/kerberos/sbin:/usr/kerberos/bin
GDM_XSERVER_LOCATION=local
PWD=/home/bender
JAVA_HOME=/usr/java/java
LANG=pt_BR.UTF-8
GNOME_KEYRING_PID=2602
GDM_LANG=pt_BR.UTF-8
GDMSESSION=default
HISTCONTROL=ignoreboth
HOME=/home/bender
SHLVL=1
GNOME_DESKTOP_SESSION_ID=Default
LOGNAME=bender
XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-3RSHGeOk0F,guid=ac94140f8f5f8958e463ecb64a434d77
WINDOWPATH=7
DISPLAY=:0.0
COLORTERM=gnome-terminal
XAUTHORITY=/home/bender/.Xauthority
_=/usr/bin/env

Para informação de todos:

Estou fechando o tópico porque segundo informações que recebi, estou usando uma versão do Java muito recente para poder migrar o sistema de servidor e o que me aconselharam foi utilizar a versão do Java utilizada no servidor antigo.

Obrigado à todos que se dispuseram a ajudar.

:roll:

[quote=darkbr]Para informação de todos:

Estou fechando o tópico porque segundo informações que recebi, estou usando uma versão do Java muito recente para poder migrar o sistema de servidor e o que me aconselharam foi utilizar a versão do Java utilizada no servidor antigo.

Obrigado à todos que se dispuseram a ajudar.

:roll: [/quote]

Cara, isso não tem muito sentido. A retrocompatibilidade que o java e a sun defendem com unhas e dentes serve exatamente para que este tipo de coisa não ocorra. É verdade que na história do java já ocorreram alguns pequenos problemas que resultaram em quebra de compatibilidade (o mais notável é o acréscimo da palavra-chave enum no java 5). No seu caso, como você já está partindo do java 5, com certeza não é isso que ocorre. Você só deve voltar versão se você tiver a plena e total certeza de que é este o problema e que não é viável corrigi-lo.

O único problema de compatibilidade que lembro ter visto entre o java 5 e o java 6 é decorrente de um bug no java 5 quando você carrega classes de arrays usando Class.forName em ClassLoaders especiais, algo como chamar Class.forName("[Ljava/lang/String;"). E esse tipo de coisa não é algo que você vá ver em códigos escritos por pessoas normais. No resto, o java 5 e o 6 são tão semelhantes entre si que talvez o java 6 deveria ter se chamado java 5.1.

Outra possibilidade é que você tenha algo idiota como isto:

if (java5) { // é java 5. } else { // é java 4. }Daí não vai dar certo no java 6. Mas este tipo de coisa também é algo bem incomum.

EDIT: Olhando para os seus stacktraces, realmente parece que o JAR com as classes SessaoListener, ControleAcesso e FinderException não estão no seu classpath. Ou então essas classes não compilam quebrando os códigos que delas dependem.

As classes SessaoListener e ControleAcesso estão no classpath da aplicação?