Tenho minhas classes de uso geral, em um arquivo .jar, na pasta /lib do meu projeto, no linux a importação do pacote .jar funciona legal.
Já em windows ele diz que a classe .jar a ser importa não existe, mas ela está na pasta /web-inf/lib do projeto assim como no linux.
tem que configurar alguma coisa aqui pra ele saber onde tá o .jar a ser importado?
Ja aconteceu isso comigo, não sei te explicar porque não funciona, mas uma solução rápida para isso é você colocar o seu jar na pasta:
[list]$CATALINA_HOME/shared/lib[/list]
Segundo a especificação J2EE você tem que usar no diretório WEB-INF (maiúsculo, case sensitive).
Pode ser que algum servidor “complacente” tenha permitido você utilizar em web-inf (em minúsculos) fora da especificação.
IMPORTANTE: Se a sua classe estiver no pacote default “.”, você terá erros com jsp. Estou sem a explicação neste momento, mas se for o caso, tente colocar a classe em um pacote.
Tem como mandar um “dir /b/s” a partir do seu diretório de aplicação web ? Só para ver se a estrutura está correta !
Eu tenho uma classe chamada Db.class.
Empacotei com jar -cvfM fer.jar db.class.
Coloquei no pasta Web-inf do meu projeto, ao tentar carregar dentro de um jsp: <%@page import=“fer.*”%> recebi como retorno um erro pacote não encontrado.
Também coloquei no $CATALINO_HOME/shared/lib, chamei o jsp, recebi o mesmo erro pacote fer.* não existe.
É isso aí e continuo meio perdido. Mas no meu ambiente linux usando webapps/Web-inf/lib funciona legal.
É cara, como te disse, não vai rolar. Tá (quase) tudo errado.
A sua classe não está no package, ou você está empacotando (jar) de forma errada.
1 - Sua classe deve ter uma cláusula “package” para determinar que ela está dentro de um package.
2 - Esse package deve corresponder a um diretório a partir de onde você irá executar o “jar”.
Algo como:
package meuPackage;
...
public class Db { .....
Agora, sua classe deve ser colocada em um diretório chamado “meuPackage”.
Vamos supor que você está no diretório c:/Projeto, então você deveria ter o seu .class em uma estrutura como:
c:/Projeto/meuPackage/Db.class
Para criar o jar entra no diretório c:/Projeto e executa o comando jar da seguinte forma:
jar -cvfM0 fer.jar manifest.mf -C *.*
No import do seu jsp, você tem que importar não o arquivo Jar, mas os packages que estão em seu arquivo jar, então seu jsp fica assim:
Novamente (agora lembro o porquê), você deve colocar sua classe em um package.
Porque: o package default de seu jsp é org.apache.jsp.“alguma coisa”, ou algo assim. Então, se você colocar no package default (sem package), não rola, porque ele não vai procurar no package default, mas sim em org.apache.jsp.“alguma coisa”.