Sou novato no ubuntu. Estamos migrando um projeto desenvolvido em java para ele (com netbeans), mas temos um problema… A propriedade user.dir (System.getProperty(“user.dir”)), que deveria apontar para a pasta dist do projeto, aponta sempre para minha pasta de usuário…
Tentando esclarecer: quando rodo o projeto pelo NetBeans, ele roda perfeitamente, encontra as pastas de configuração e libs; mas ao tentar rodar o mesmo pelo JAR, ele aponta o path de execução para minha pasta pessoal (qnd faço o mesmo no windows, não ocorre erro), e como aponta para a pasta pessoal ele nao acha as configurações e libs.
Alguem ja passou por um problema parecido?? ou sabe onde pode estar o problema?
Nunca vi funcionar direito clicar duas vezes sobre o JAR, na prática.
É que você fica muito dependente de o que o sistema operacional vai fazer, e muitas coisas você não pode especificar no MANIFEST.MF. Uma coisa muito boba que não dá para especificar lá, por exemplo, é qual a memória que você quer usar (-Xmx).
Eu prefiro escrever uma shell script que faça as seguintes coisas:
Mude para o diretório desejado;
Chame o seu jar (com java -jar) e passando os parâmetros adequados (-classpath, -Xmx etc.)
Eu recomendaria até “chumbar” o diretório correto do Java - pode ser que o java não esteja no path, ou então que esteja usando o Java errado (versão 1.3 por exemplo).
[quote=thingol]Nunca vi funcionar direito clicar duas vezes sobre o JAR, na prática.
É que você fica muito dependente de o que o sistema operacional vai fazer, e muitas coisas você não pode especificar no MANIFEST.MF. Uma coisa muito boba que não dá para especificar lá, por exemplo, é qual a memória que você quer usar (-Xmx).
Eu prefiro escrever uma shell script que faça as seguintes coisas:
Mude para o diretório desejado;
Chame o seu jar (com java -jar) e passando os parâmetros adequados (-classpath, -Xmx etc.)
Eu recomendaria até “chumbar” o diretório correto do Java - pode ser que o java não esteja no path, ou então que esteja usando o Java errado (versão 1.3 por exemplo).
[/quote]
Valeus thingol, ja estava a 2 dias tentando achar o erro e ja tava achando q ele era no ubuntu, ttinha mexido no meu manifest todo e nda, pra resolvir criar um arquivel shell q roda pra mim
Preciso que no Linux (Ubuntu) o user.dir mostre, ex: /home/francisco, e não /home/francisco/NetBeansProjects/PASTA_PROJETO (onde foi chamado o sistema)
Preciso disso porque é dentro do diretório do usuário que vai estar a pasta do sistema para cada máquina (arquivos de configuração, etc).
Alguém sabe como pegar somente o diretório do usuário em Linux?
Para o seu caso, use System.getProperty(“user.home”), que ele retorna a pasta do usuario;
No meu caso tanto user.dir e user.home retornam a pasta do usuario, e u gostaria que a propriedade user.dir retornasse exatamente o que retorna o seu caso , pois não é essa a ideia dessa propriedade?