Diretórios e distribuição de aplicações

Bom dia amigos !
Como iniciante em java, tenho 2 dúvidas:

  1. Como faço para, de dentro da minha classe principal, obter dinamicamente o path corrente a aplicação ? quero usar isso para referenciar arquivos sem ter que deixar o path “hard coded” dentro da aplicação.

  2. Como instalo na máquina do cliente a aplicação compilada ?

Desde já, muito obrigado.

  1. Usa arquivos de propriedades, existem variaveis java que voce obtem o diretorio corrente. usa a varivavel user.dir.

[code]import java.util.Properties;

/**

  • @author Java++
    */
    public class ShowProperties {
    public static void main(String[] args) {
    // Imprime a lista de propriedades do sistema
    System.getProperties().list(System.out);

     // Para recuperar uma propriedade específica
     Properties properties = System.getProperties();
     System.out.println("Nome do Usuario (user.name) = "
     		+ properties.getProperty("user.name"));
     // Para sobrepor uma propriedade
     properties.setProperty("user.name", "Java++");
    

    }
    }
    [/code]

  1. Tu pode gerar um aquivo .jar para instalar a aplicação compilada. Ou então cria um compactado com este jar que fica mais agradave a instalação. Dá um olha aqui:

http://java.sun.com/j2se/1.5.0/docs/guide/jar/index.html

http://izpack.org/