[Ajuda] System.getProperty("user.dir")

ola galera do GUJ

fiz um instalador para meu aplicativo ( antes que joguem as pedras em mim, o instalador so cria a estrutura das pastas aonde será instalado o sistema).

porem na classe conexao utilizei a propriedade System.getProperty(“user.dir”), e o aplicativo cria um ATALHO do sistema no desktop e no menu inicial

ai vem o problema, o System.getProperty(“user.dir”) pega o caminho do atalho e nao o caminho aonde o banco se encontra (isso depois da instalacao)…

se eu mudar meu banco para o diretorio do ATALHO o sistema funciona

foi criado o exe com o inner setup

se alguem tiver alguma ideia de como resolver isso, ou alguma sugestao ficarei grato

abraço

Não sei a solução mas sei a causa, o user.dir pega o diretório de execução da VM, no caso do atalho, se clicar com o botão direito e ir em Propriedades, é definido pelo campo “Iniciar Em”, precisa dar um jeito de criar seu atalho com esta propriedade configurada corretamente.

hmmm

valeu samuel

vou ver se acho algum outro comando para substituir o user.dir

nao sabe algum que faça algo semelhante?

Você pode substituir o “user.dir” por vários outros, para saber se algum deles lhe interesse, faça isso:

public static void main(String[] args) { for(Object key : System.getProperties().keySet()) { System.out.println("Chave: " + key + " - Valor: " + System.getProperty(String.valueOf(key))); } }

Desta forma, lhe se apresentado uma gama de possíveis valores para se utilizar no System.getProperty(), veja qual é o mais interessante para você.

Att,

Nel

Boa dica nel, mas no caso dele a informação necessária é o diretório em que se encontra o jar da aplicação, o mais próximo disso, ao meu ver, é o CLASSPATH, mas vai econtrar vários caminhos lá, não somente o que deseja. (o user.dir normalmente aponta para esse caminho, porém o Iniciar Em do atalho que ele criou está apontando para o Desktop, sobrescrevendo este valor)

Dá uma lida nesse tópico:
http://www.guj.com.br/posts/list/212351.java#1080446