Pessoal, tenho um site em um provedor, daí fiz uma aplicação e quero disponibilizá-la para meu cliente, a aplicação funciona perfeitamente em minha maquina (Windows), ela usa usa Struts, o servidor está corretamente configurado, pois ele compila meus jsp’s e executa servlets (normais), no entanto, todos os servlets desta minha aplicação são extenssões da Action do Struts e quando eu jogo ela no meu provedor nenhum servlet é processado pois não é achado. Estou desesperado pois preciso apresentar isto para o cliente, estou desconfiado é que o classpath da aplicação que indica a localização dos jars utiilzados não está sendo reconhecido, além disso o meu provedor usa Linux (Fedora) e eu ainda nao tenho dominio sobre este ambiente, enfim, gostaria de saber de voces se alguem sabe de alguma configuração especial necessária neste tipo de situação, pois eu simplesmente coloquei a aplicação na raiz do meu site, para reconhecer o classpath basta jogar o arquivo .classpath gerado pelo eclipse na raiz da aplicação? pois foi isto que eu fiz, e como já disse, acho que é o classpath que ele não está reconhecendo. Espero que possam me ajudar pois o provedor já me mostrou que servlets e jsp funcionam e este tipo de suporte eles nao oferecem. Desde já agradeço a todos
Colocando uma aplicação no provedor (linux)
4 Respostas
o arquivo classpath que é gerado no windows é o mesmo gerado no linux???
Pois se vc for fazer na unha, a forma de declarar as variáveis de ambiente é realmente diferente… será que o eclipse já trata isso??
Bom, eu acho que sim, né!
Experimenta declarar as variábeis de ambiente na mão mesmo!!!
Declare o classpath no arquivo ~/.profile
CLASSPATH=$CLASSPATH:/meu/local/onde/estao/os/jars
ou
CLASSPATH=.;$JAVA_HOME/lib:/meu/local/onde/estao/os/jars
No final, não esqueça do comando export
export CLASSPATH
Thiago, obrigado pela resposta, no entanto, como já falei sou um tanto leigo no Linux, e por isso quando vc citou um tal arquivo ~/.profile fiquei meio confuso pois nao sei que arquivo é esse, minha aplicação nao tem esse arquivo, como já falei ela tem é o arquivo .classpath, seria este o equivalente em Linux? De qualquer forma estou colocando abaixo o conteudo do meu arquivo .classpath para vcs analisarem e ver se seria isto mesmo.
Mais uma vez obrigado
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="j2src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="WEB-INF/lib/classes12.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/c3p0-0.8.4.5.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/cglib-full-2.0.2.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/commons-beanutils.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/commons-collections-2.1.1.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/commons-digester.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/commons-fileupload.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/commons-lang-1.0.1.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/commons-logging-1.0.4.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/commons-validator.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/dom4j-1.4.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/ehcache-0.9.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/hibernate2.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/jakarta-oro.jar"/>
<classpathentry kind="lib" path="WebModule/WEB-INF/lib/jta.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/odmg-3.0.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/oscache-2.0.1.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/pager-taglib.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/struts.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/struts-legacy.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/swarmcache-1.0rc2.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/commons-logging.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/commons-collections.jar"/>
<classpathentry kind="lib" path="WEB-INF/lib/antlr.jar"/>
<classpathentry kind="output" path="WEB-INF/classes"/>
</classpath>
Acho que a tag abaixo que referencia a jre pode tirar né, até porque provavelmente o provedor lá nao deve ter o eclipse instalado e por isso nao acharia esta referencia
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
Cara… eu num sou a pessoa mais indicada para ajudá-lo!!
o que posso sugerir é você colocar as bibliotecas no classpath da sua máquina servidora!!!
Bom, vc deve colocar os seus jar no classpath do sistema, talvez isso resolva!!!
É igual quando vocÊ configura no windows… vc instala o jdk e configura as variáveis de ambiente JAVA_HOME, CLASSPATH e PATH.
Vc tem 3 opções…
1 - edita o arquivo /etc/profile
Coloque aquela linha que te passei no final deste arquivo…
2 - edita o arquivo /home/[seu_usuario]/.profile
Coloque aquela linha que te passei no final deste arquivo…
3 - a pior das soluções é esta:
copiar seus jars para dentro do diretório commons/lib do tomcat!!!
Mas de boa… não siga meus conselhos… espere que outros membros do guj mais experientes postem alguma coisa sobre o assunto ou faça uma pesquisa mais detalhada sobre o problema!!
Pois é Tiago, o lançe de colocar os jar no classpath do sistema é impossível para mim pois o provedor não oferece esse tipo de configuração pessoal para os clientes, pois isso seria configuração do sistema e nao da conta.
De qualquer forma obrigado pela ajuda, vou ficar quebrando a cabeça aqui e esperando por mais alguma ajuda.