Re:Gerar Arquivo.jar

Usa esse plugin do eclpse, é muito bom.
E so clicar com botão direito e dar build fat jar no projeto, ele ja gera todo empacotamento.

http://fjep.sourceforge.net/

Ao gerar seu jar que depende de outros, edite o arquivo manifest.mf

Manifest-Version: 1.0
Class-Path: lib/swing-layout-1.0.jar lib/Ecsjtapia.jar lib/jtapi.jar lib/jtds-1.1.jar
Main-Class: br.com.pedrosa.ClasseMain

Na propriedade Class-Path vc coloca os jars que sua aplicação depende seperado com um espaço, pronto gere novamente seu jar pelo export e veja se funciona.

Sim, esse plugin vai gerar o jar com todo os pacotes dependentes.

isso so vai funcionar se vc tiver uma pasta lib com esse jar’s dentro dela.
vc tem essa pasta na estrutura do seu projeto?

[]'s

Oi Simone, qual o erro gerado?, a sua aplicação contém esse diretorio lib mesmo e esses jars estão la e configurados no classpath da sua aplicação?

Vc consegue setar esse classpath pelo Eclipse mesmo, clique com btn direito no projeto --> Properties -->Add External JARs e selecione os jars do seu diretorio lib, pronto esta feito o classpath, nem precisa dessa bat

Simone, coloque esses parametros em um arquivo properties, assim fica mais dinamico, e na medida que essas informações mudem vc altera esse arquivo.

Segue um exemplo:

import java.io.FileInputStream;
import java.util.Properties;

import javax.swing.JOptionPane;

/**
* Objetivo: Manipular o arquivo .properties de configuração
* Data: 07/08/2006
*/
public class ManipulaProperties {

	public Properties carregarConfiguracoes() {
		Properties prop = new Properties();
		try {
			prop.load(new FileInputStream("/pasta/subpasta/xpto.properties"));
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null,"Erro ao ler arquivo de configuração:!","Erro",JOptionPane.ERROR_MESSAGE);
		}
		return prop;
	}

}

Chamando essa classe o obtendo os valores:

Properties arquivo = new ManipulaProperties().carregarConfiguracoes();
arquivo.getProperty("pathTxt")

Nesse getProperty vc informa a propriedade contida no arquivo properties:

pathTxt=/zzz/yyy/Cartao.txt

Mais informações aqui:

http://www.guj.com.br/java.tutorial.artigo.35.1.guj

Um outro detalhe a pasta lib precisa estar no mesmo local que seu jar gerado, com os jars dentro, vc ta fazendo isso?

Vamos la, vc gera seu jar que foi feito o classpath no eclipse, nesse classpath apontamos para a pasta lib, ou seja seu jar gerado precisa enchergar os outros que depende, por isso precisa ficar no mesmo local:

Ex:
suaAplicacao.jar //que foi gerado
lib/jtds.jar …

Entendeu?

Tenta usar o Netbeans… Cria as bibliotecas q vc quer, insere os jars e quando vc der o build ele cria tudo direitnho p/ vc…

E o melhor, num precisa ficar instalando plug-ins…

Veja se entendi vc criou um jar contendo os outros jars dos seus drivers?, tente usar separadamente e coloque aqui como esta seu arquivo manifest.mf

Bom dia pessoal…

Estou com uma dúvida de como gerar um jar aonde preciso estar lendo outro jar.

Bom vou explicar melhor.

Tenho uma aplicação x, essa aplicação é bem simples, ela simplesmente gera pra mim webForms.
Nessa aplicação estou utilizando o banco de dados SQLServer 2000.

Só que para eu conseguir gerar esses WebForms preciso estar passando três argumentos, conexão, arquivo base (xml) e um diretório de saída (lugar aonde vai estar armazenado meus arquivos gerados).

Consegui gerar o jar perfeitamente, estou gerando o jar pelo export do eclipse, consigo executar o jar perfeitamente passando os argumentos necessários. Só que para isso preciso estar setando o classpath toda hora para poder carregar os drivers.

Preciso gerar um jar somente dos meus drivers para não precisar setar o classpath toda vez que for executar meu .jar

O que eu fiz foi o seguinte:

Gerei o jar dos drivers e coloquei o jar dentro do diretório lib
No arquivo Manifest coloquei a seguinte configuração:
Manifest-Version: 1.0
Main-Class: com.estratege.utils.WebFormGerador
Class-Path: C:\eclipse-workspace\WebFormGeradorApp\lib\driver.jar

Depois de feito isso gerei um jar da aplicação inteira…
Mais não estou conseguindo carregar os drivers, alguém sabe como me ajudar?

Obs: É minha primeira mensagem postada, não sei muito bem de como me expressar, aceito sugestões de como me expressar melhor e ter um melhor entendimento.

Agradeço desde já.

:slight_smile: Simone

Obrigada pela resposta…

Mais uma dúvida eu deixo tdo o que eu fiz e ao invés de gerar o jar eu faço isso que vc me falou?

Att
Simone :slight_smile:

Oi pedroza…

Então não funcionou não…

Olha só o que eu fiz…

Code:

Manifest-Version: 1.0
Class-Path: lib/msbase.jar lib/mssqlserver.jar lib/msutil.jar
Main-Class: com.estratege.utils.WebFormGerador

E gerei novamente o jar da aplicação inteira.

Simone

Ok …

Vou tentar fazer isso…

Obrigada pela ajuda :slight_smile:

Então pedroza…

Minha estrutura tem sim a pasta lib e dentro dela tenho tb os jars…
Só que eu tenho uma dúvida nesse tal de classpath…
Olha só o que eu fiz…
Dentro da pasta lib criei um bat setando o classpath…eu posso estar fazendo isso:

java -classpath C:\eclipse-workspace\WebFormGeradorApp\lib\msbase.jar;C:\eclipse-workspace\WebFormGeradorApp\lib\msutil.jar;C:\eclipse-workspace\WebFormGeradorApp\lib\mssqlserver.jar

Att
Simone

Ah legal Pedroza…

tinha me esquecido disso…rs

então add os jar no classpath da maneira que vc me disse, gerei o jar da aplicação novamente.

mais o que acontece é o seguinte:

Qdo executo o jar pelo dos…

diretório\java -jar gerador.jar
ele me pede o caminho que preciso informar:
<caminho da conexão>
para esse caminho eu criei um bat:
C:\eclipse-workspace\WebFormGeradorApp\conf\conexao.udl C:\eclipse-workspace\WebFormGeradorApp\source\ProjCentrBase.xml C:\eclipse-workspace\WebFormGeradorApp\GeradorArquivo\

e qdo eu executo esse bat ele me abre a udl de conexão e não roda me aplicativo.

Simone

Oi João…

Tenho essa estrutura sim…

Valeu pela ajuda :wink:

simone

Ok Pedroza até entendi o que vc falou…mais não tem necessidade de estar fazendo isso…

Os parâmetros podem ser lidos por um bat mesmo, o único problema é que não consigo carregar os drivers…na vdd acho que é isso que está acontecendo…

Vc está entendendo o que está rolando?

Até

Hum não entendi muito bem o que vc disse…

Olha soh tenho um diretório x que lá está o arquivo.jar, o bat dos parâmetros , somente isso.

Não estou gerando o jar dos drivers, mais se eu for gerar eu gero o jar e coloco na minha pasta x ou na pasta lib da minha estrutura e depois gero um jar total da aplicação?

simone