Package - como usar?

5 respostas
R

Oi pessoa,

preciso da sua ajuda novamnte!!!

Gostaria de saber como faço para colocar as minhas classes dentro de um pacote e distribuir somente ele… Como faço para executar?

Rafael.

5 Respostas

D

Rafael, você quer que o jar seja executável? Tipo:

java -jar myapp.jar?

Se for isso, você deve adicionar uma entrada no arquivo de manifesto: Main-Class: <nome-da-classe>

Dê uma olhada neste artigo do JavaWorld

L

Pra incluir suas classes dentro de um mesmo pacote, todas as suas classes devem ter a seguinte declaração,

package  teste.nomedaaplicação;

só que essa não é maneira mais elegante de se criar um pacote, pelo menos é o que diz a especificação da Sun a respeito disso, ela mesmo definiu um padrão pra criação de nomes de pacotes. Ela diz que o nome do pacote deve iniciar com o nome de dominio Internet na ordem inversa.
Ficaria assim, usando o dominio do GUJ como exemplo,

package br.com.guj;

Pra distribuir sua aplicação, crie um arquivo com um nome qq ( por exemplo, MeuPrograma.mf ) e coloque a seguinte linha:

Main-Class: NomeClassePrincipal

Para criar o .jar, faz assim:

jar -cfm MeuPrograma.jar MeuPrograma.mf *.class

onde *.class são todas as classes que compoem sua aplicação

R

Obrigado pelas dicas, mas ainda não consegui fazer funcionar…

aparece a seguinte mensagem de erro…

C: empx>c:javainjava -jar teste.jar
Failed to load Main-Class manifest attribute from teste.jar

O que eu poderia estar fazendo de errado??

D

Não dá pra vc passar a sequência exata de como vc criou o .jar? Passe também o conteúdo do arquivo de manifesto e a sua versão do SDK.

R

Classe A

package p;

public class a{
	public static void main(String args[]){
		new a();
		new b();
	}
	public a(){
		System.out.print(" a ");
	}
}

Classe B

package p;

public class b{
	public b(){
		System.out.print(" b ");
	}
}

Manifest

Manifest-Version: 1.0
Created-By: 1.4.1-rc (Sun Microsystems Inc.)

Main-Class: a

Versão

java -version
java version "1.4.1-rc"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-rc-b19)
Java HotSpot(TM) Client VM (build 1.4.1-rc-b19, mixed mode)

comando usado para compilar

javac a.java b.java

comando para criar o jar

jar cfm p.jar m.mf *.class

comando para tentar rodar o sistema

java -jar p.jar
Criado 17 de fevereiro de 2003
Ultima resposta 18 de fev. de 2003
Respostas 5
Participantes 3