ola, sei q é uma besteira mas me surgiu 2 duvidas ,
1ª - qdo eu compilo um programa em jar no netbeans ,é possivel a pessoa descompila-lo e analizar meu codigo fonte? e se possivel, como eu impeço isso?
2ª - porque os meus arquivos .jar nao abrem no jre comum , apenas no meu jdk ?
Quanto a seus jars não abrirem no JRE, não sei o motivo, pois o JRE tem o executável jar dentro da pasta /bin assim como o JDK.
Falou Valeus!
Wolf_X
ta dizendo q nao foi possivel axar a classe Main, pq sera?
R
Rafael_Sperendio
O seu arquivo .jar não é nada mais do que uma espécie de .zip do seu aplicativo contendo seus arquivos .class. O fato de vc não estar conseguindo rodar seu aplicativo no jre comum pode ser q a sua versão do jre e do jdk sejam diferentes. Ao desenvolver no netbeans com jdk 1.4, vc não roda ele no JRE1.5 e nem no JRE1.3, nem em qualquer outro q não seja JRE1.4.
Outro fator que pode estar acontecendo é q vc não especificou qual a sua classe que irá inicializar o aplicativo. Esta classe deve conter uma função static main.
Na verdade, uma aplicação desenvolvida em uma versão do JDK poderá ser executada em qualquer JRE de versão igual ou posterior.
Wolf_X
po , eu to usando o jdk 6 e o jre 5
entao eh isso
R
Rafael_Sperendio
Uma aplicação java desenvolvida apenas com as API’s Java, sem problemas roda em qualquer versão do JRE. Mas utilizar o Netbeans e suas bibliotecas para desenvolver aplicativos é onde está o problema. Por exemplo, usar o Netbeans com jdk 1.4 para criar um layout e tentar rodar este aplicativo no jre 1.5 por exemplo não funciona. Me lembro q até tem um jeito mas é bem complicado para fazer isso. Agora se vc desenvolver no Netbeans, mas sem usar a API do netbeans para criar o layout, usar apenas o swing puro Java posicionando componentes com GridBagConstraints GridBagLayout, etc ai não tem problema
Wolf_X
vo alterar entao , pra ficar melhor , brigadao gente
R
Rafael_Sperendio
Uma aplicação java desenvolvida apenas com as API’s Java, sem problemas roda em qualquer versão do JRE. Mas utilizar o Netbeans e suas bibliotecas para desenvolver aplicativos é onde está o problema. Por exemplo, usar o Netbeans com jdk 1.4 para criar um layout e tentar rodar este aplicativo no jre 1.5 por exemplo não funciona. Me lembro q até tem um jeito mas é bem complicado para fazer isso. Agora se vc desenvolver no Netbeans, mas sem usar a API do netbeans para criar o layout, usar apenas o swing puro Java posicionando componentes com GridBagConstraints GridBagLayout, etc ai não tem problema[/quote]
Wolf_X
galera, posso estar falando uma bobajem, mas me deem suas ideias, me veio a cabeça a possibilidade de usar uma linguagem nativa para compactar o arquivo jar, qdo o programa executa-se ele descompilaria o jar temporariamente em uma pasta oculta do systema e entao chama-lo atraves do prompt, e qdo fechado ele apagaria o programa de la, seria um metodo seguro para uma versao do software apenas para avaliação???
pq demorei uns 2 meses pra termina-lo e ficaria muito injuriado se um engraçadinho roubasse meu fonte
se nao funciona , deem alguma ideia , plz
1112
Uma aplicação java desenvolvida apenas com as API’s Java, sem problemas roda em qualquer versão do JRE. [/quote]
Nem sempre. Algo desenvolvido em JDK 5 e compilado com target 1.5 não rodará em JREs inferiores por incompatibilidade da versão da classe. Também existe a possibilidade de, mesmo compilando para um target anterior, você usar uma classe da API padrão que não existia na API de uma JRE anterior, por exemplo se você tentar usar a classe Scanner em JRE 1.4-.