| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/02/2005 19:13:56
|
Erex
Entusiasta Java
Membro desde: 26/10/2004 09:31:20
Mensagens: 20
Localização: São Paulo / Brasil
Offline
|
Estou tentando ler um arquivo "Properties" a partir de um diretorio no Linux.
O arquivo está dentro do contexto de uma aplicacao no tomcat.
Ex: tomcat/app/WEB-INF/diretorio/arquivo.properties
Criei um objeto "File" para armazenar o conteudo do arquivo. Para isso indiquei como caminho "../WEB-INF/diretorio/arquivo.properties"
Quando rodo minha aplicacao no Windows, beleza, dá tudo certo, mas quando rodo no linux ocorre uma exceção, a famosa NullPointerException.
Por quê no Linux não funciona?? Como posso resolver o problema??
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/02/2005 19:50:19
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
Pq ocorre a NPE? qual linha de codigo eh? o arquivo eh encontrado?
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/02/2005 19:54:06
|
Erex
Entusiasta Java
Membro desde: 26/10/2004 09:31:20
Mensagens: 20
Localização: São Paulo / Brasil
Offline
|
Pelo que eu entendi o arquivo não é encontrado!!
Parece que no Linux o ../ não funciona como no Windows
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/02/2005 20:19:10
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
Post ai a parte *relevante* de codigo que vc esta usando.
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/02/2005 09:01:56
|
Erex
Entusiasta Java
Membro desde: 26/10/2004 09:31:20
Mensagens: 20
Localização: São Paulo / Brasil
Offline
|
Segue ai o codigo:
Estou utilizando o Tomcat 4.1.31
Quando utilizo no Windows OK
Quanto utilizo no Linux aparece a mensagem NullPointerException acredito que ele não consegue "enxergar" o arquivo, vc tem alguma sugestão??
Obrigado
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/02/2005 10:14:32
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
Bom, a forma como vc esta fazendo eh um pouco fora do comum, ja que voce esta assumindo certas propriedades do ambiente. Uma opcao eh voce criar um diretorio "config" em WEB-INF/classes e usar um codigo como o seguinte para pegar os arquivos:
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/02/2005 11:25:59
|
Erex
Entusiasta Java
Membro desde: 26/10/2004 09:31:20
Mensagens: 20
Localização: São Paulo / Brasil
Offline
|
Uma dúvida, por quê não posso referenciar este arquivo fora do diretorio "classes", não poderia referenciá-lo no local onde estava antes (fora do diretório "classes")?
É realmente necessário criar o diretório "config" dentro do diretório "classes" ??
Só gostaria de entender o que acontece!! Dei uma olhada no JavaDoc mas não ficou claro.
De qualquer forma muito obrigado!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/02/2005 11:31:05
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
O diretorio pode se chamar qualquer coisa.. "config" foi simplesmente para efeitos praticos.
Voce pode referenciar qualquer diretorio em qualquer lugar, desde que tenha permissao para tal. O problema com o teu ../ eh que voce esta assumindo que o diretorio padrao eh "X" sempre, o que opde nao ser verdade dependendo do sistema operacional / container usado / forma de configuracao do mesmo.
Se voce quiser, pode usar o getServletContext().getRealPath("") para pegar o diretorio fisico raiz da tua aplicacao web, e entao adiciopnar o restro da estrutura de diretorios, como em
Rafael
This message was edited 2 times. Last update was at 15/02/2005 11:31:30
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/02/2005 16:42:25
|
Erex
Entusiasta Java
Membro desde: 26/10/2004 09:31:20
Mensagens: 20
Localização: São Paulo / Brasil
Offline
|
Rafael,
eu cheguei a utilizar o caminho através do contexto do Servlet mas achei interessante sua sugestão através do método:
A restrição que eu não consegui solucionar, para este caso, foi colocar meu arquivo de propriedades "arquivo.xxxx" em um diretório que não fosse um subdiretório de app/WEB-INF/classes/
Quando meu arquivo.xxx está em algum subdiretório do diretório /classes, a aplicação funciona, quando coloco o arquivo em outro diretório que não um subdiretório de /classes Ex: app/WEB-INF/config/arquivo.xxxx não funciona.
Só gostaria de saber por quê isso ocorre??
O método em destaque neste Post só "enxerga" os arquivos que estão contidos em algum subdiretório de /classes??
Bem, de qualquer forma, a solução resolveu o problema.
Muito obrigado!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/02/2005 17:11:09
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
Entao, somente funciona dentro do classes mesmo, que eh um diretorio que esta no classpath. Ate tem uma outra forma de, usando o getResourceAsStream(), "navegar" por uma estrtutura direferente, mas da bastante trabalho e eh sucetivel a erros. Essa maneira como passei eh bastante usada no dia-a-dia, portanto nao eh nenhuma trick.
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/02/2005 08:51:29
|
Erex
Entusiasta Java
Membro desde: 26/10/2004 09:31:20
Mensagens: 20
Localização: São Paulo / Brasil
Offline
|
Aí Rafael, valeu mesmo, obrigado!!!
Aproveitando a oportunidade, parabéns pelo JForum, é show de bola!!
Vc tem alguma previsão de nova versão do JForum??
[]´s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/02/2005 10:16:51
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
Erex wrote:
Vc tem alguma previsão de nova versão do JForum??
Estou comecando a testar a 2.1, mas geralmente nao defino uma data. Lanco qdo considero que esta pronto
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
|
|