Erro ao compilar JSP no JBuilderX

Estou utilizando o JbuilderX (Patch 3) e o JBoss 3.2.1 (Tomcat 4.1.21) para desenvolver uma aplicação Web (Servlets/JSP) para a minha intranet local.

Embora todas as JSP localizadas no diretório raíz do módulo Web sejam compiladas sem problemas, qualquer JSP que eu crie dentro de um subdiretório produz os seguintes erros de compilação:

“arquivo.jsp”: Error #: 200 : expected
“arquivo.jsp”: Error #: 901 : package <error> stated in source DiretorioDoProjetoclassesGenerated ource.jspNomeDoProjetoNomeDoSubDiretorioNomeDoSubdiretorio_0002farquivo_0002ejsp_jsp.java does not match directory NomeDoSubdiretorio

Olhando o arquivo java produzido a partir de uma JSP localizada em um subdiretório verifico que dentro do código há a definição de um pacote (ao qual a classe produzida pertence) cujo nome é .NomeDoSubdiretorio.

Procurei obter mais informações e tudo o que descobri até agora é que de fato existe um problema com o jasper e que há uma maneira (que não encontrei) de se contornar a situação.

Alguem sabe me dizer como devo proceder para contornar esse problema? Qualquer informação será bem vinda. Obrigado.

[]s

Pelo que eu entendi, a sua aplicação não está reconhencendo as outras classes, ou seja não está as encontrando. Você pode tentar configurar novos diretórios onde podem ficar servlets e JSP utilizando o web.xml, ainda pode configurar outro context-root para essas novas classes.

O problema está relacionado à localização. As mesmas JSP que não compilam no subdiretório compilam normalmente se colocadas no diretório raiz. Pesquisando em alguns sites e até mesmo no forum da Borland descobri que de fato há um problema quando se compilam JSP em subdiretórios para a dupla JBoss/Tomcat. Fiquei sabendo que também há um “workaround” mas não consegui descobrir como fazê-lo.

O problema parece estar relacionado ao compilador do Tomcat. Pelo que entendi até agora, os arquivos com extensão java produzidos a partir de arquivos JSP, localizados em subdiretórios, são gerados com nomes inválidos de pacote e isso produz os erros mencionados.

Mesmo que a página JSP não utilize qualquer pacote o erro de compilação permanece. :frowning:

[]s

Pessoal, consegui contornar o problema.

Ao instalar o Patch 3 do JBuilder eu havia seguido todas as intruções da Borland para contornar o problema existente com a compilação de JSP em subdiretórios para o JBoss. Entretanto, as instruções da Borland assumem que o compilador de JSP em uso está localizado em “C:JBuilderX hirdpartyjakarta-tomcat-4.1.27-LE-jdk14commonlib”.

Isso não é verdade na minha instalação (Onde há um servidor JBoss instalado e configurado no JBuilder) nem nas instalações de JBuilder da equipe que trabalho. No meu caso o JBuilder está utilizando o compilador localizado dentro do JBoss em “D:jboss-3.2.1_tomcat-4.1.24serverdefaultdeployjbossweb-tomcat.sar” (Ele assumiu este compilador como default quando instalei o JBoss).

Portanto, os arquivos descritos no workaround “From the JBuilderX/thirdparty/jakarta-tomcat-4.0.6-LE-jdk14/lib directory, copy jasper-compiler.jar and jasper-runtime.jar to the JBuilderX/thirdparty/jakarta-tomcat-4.1.24-LE-jdk14/common/lib directory.” devem ser copiados para dentro do diretório do JBoss citado no parágrafo anterior. Feito isso os arquivos JSP localizados em um subdiretório são compilados normalmente.

:slight_smile:

[]s