Problems making jar file

Hi:

I am having some troubles with my .jar application. My source code works perfectly but when i change it to a .jar file i doesnt work anymore and i recieve this error

C:\Documents and Settings\*\Desktop>java -jar Horario.jar

Exception in thread"AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apach

e/poi/poifs/filesystem/POIFSFileSystem

at Horario.HorarioSendero.Excel(HorarioSendero.java:159)

at Horario.HorarioSendero.ComidaActionPerformed(HorarioSendero.java:248)

at Horario.HorarioSendero.access$300(HorarioSendero.java:23)

at Horario.HorarioSendero$4.actionPerformed(HorarioSendero.java:70)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour

ce)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

Exception in thread"AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apach

e/poi/poifs/filesystem/POIFSFileSystem

at Horario.HorarioSendero.Excel(HorarioSendero.java:159)

at Horario.HorarioSendero.SalidaActionPerformed(HorarioSendero.java:229)

at Horario.HorarioSendero.access$500(HorarioSendero.java:23)

at Horario.HorarioSendero$6.actionPerformed(HorarioSendero.java:84)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour

ce)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

does anyone know why do i get this error?

my code is this one

/*

* HorarioSendero.java

*

* Created on 5 de julio de 2007, 09:07 PM

*/

package Horario;

import java.text.SimpleDateFormat;

import java.util.*;

import java.io.*;

import javax.swing.*;

import javax.mail.*;

import org.apache.poi.poifs.filesystem.POIFSFileSystem;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.usermodel.HSSFRow;

/**

*

* @author lonrot

*/

publicclass HorarioSenderoextends javax.swing.JFrame{

/** Creates new form HorarioSendero */

public HorarioSendero(){

initComponents();

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.

*/

// <editor-fold defaultstate="collapsed" desc=" Generated Code ">

privatevoid initComponents(){

Paty =new javax.swing.JButton();

Alejandro =new javax.swing.JButton();

NombreText =new javax.swing.JTextField();

Entrada =new javax.swing.JButton();

Comida =new javax.swing.JButton();

ComidaRegreso =new javax.swing.JButton();

Salida =new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

Paty.setText("Paty");

Paty.addActionListener(new java.awt.event.ActionListener(){

publicvoid actionPerformed(java.awt.event.ActionEvent evt){

PatyActionPerformed(evt);

}

});

Alejandro.setText("Alejandro");

Alejandro.addActionListener(new java.awt.event.ActionListener(){

publicvoid actionPerformed(java.awt.event.ActionEvent evt){

AlejandroActionPerformed(evt);

}

});

Entrada.setText("Entrada");

Entrada.addActionListener(new java.awt.event.ActionListener(){

publicvoid actionPerformed(java.awt.event.ActionEvent evt){

EntradaActionPerformed(evt);

}

});

Comida.setText("Comida");

Comida.addActionListener(new java.awt.event.ActionListener(){

publicvoid actionPerformed(java.awt.event.ActionEvent evt){

ComidaActionPerformed(evt);

}

});

ComidaRegreso.setText("Comida Regreso");

ComidaRegreso.addActionListener(new java.awt.event.ActionListener(){

publicvoid actionPerformed(java.awt.event.ActionEvent evt){

ComidaRegresoActionPerformed(evt);

}

});

Salida.setText("Salida");

Salida.addActionListener(new java.awt.event.ActionListener(){

publicvoid actionPerformed(java.awt.event.ActionEvent evt){

SalidaActionPerformed(evt);

}

});

javax.swing.GroupLayout layout =new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false)

.addGroup(layout.createSequentialGroup()

.addComponent(ComidaRegreso)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Salida))

.addGroup(layout.createSequentialGroup()

.addComponent(Entrada)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Comida))

.addGroup(layout.createSequentialGroup()

.addComponent(Paty)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(Alejandro)))

.addGroup(layout.createSequentialGroup()

.addGap(61, 61, 61)

.addComponent(NombreText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,new java.awt.Component[]{Comida, ComidaRegreso, Entrada, NombreText, Salida});

layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,new java.awt.Component[]{Alejandro, Paty});

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(Paty)

.addComponent(Alejandro))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(NombreText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(Entrada)

.addComponent(Comida))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(ComidaRegreso)

.addComponent(Salida))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

pack();

}// </editor-fold>

privatestatic String gettime(String x){

SimpleDateFormat dia =new SimpleDateFormat("EEEE");

SimpleDateFormat mes =new SimpleDateFormat("yyyy-MM-dd ");

SimpleDateFormat year =new SimpleDateFormat("HH:mm:ss " );

TimeZone est = TimeZone.getTimeZone("America/Mexico_City" );

dia.setTimeZone ( est );

mes.setTimeZone ( est );

year.setTimeZone ( est );

String milliFormat ="hola";

if (x=="dia"){

milliFormat = dia.format(new Date() );}

elseif (x=="mes"){

milliFormat = mes.format(new Date() );}

elseif (x=="year"){

milliFormat = year.format(new Date());}

return milliFormat;

}

privatestaticvoid Excel(String name,String accion)throws IOException{

try{

POIFSFileSystem poiStream =new POIFSFileSystem(new FileInputStream("horario.xls"));

HSSFWorkbook wb =new HSSFWorkbook(poiStream);

HSSFSheet sheet1 = wb.getSheetAt(0);

HSSFSheet sheet2 = wb.getSheetAt(1);

if(name.compareToIgnoreCase("Alejandro")==0){

Iterator rows = sheet1.rowIterator();

int x = 0;

while( rows.hasNext() ){

HSSFRow row = (HSSFRow) rows.next();

x++;

}

if (x%28==0 && x!=0){

try{

SmtpGmail mail =new SmtpGmail();

mail.sendMessage("aaaa@gmail.com","Horario Sendero","Horario Sendero","horario.xls");}

catch(Exception e){

e.printStackTrace();

}

}

//Create a row and put some cells in it. Rows are 0 based.

HSSFRow row = sheet1.createRow((short)x);

// Or do it on one line.

row.createCell((short)0).setCellValue("Alejandro");

row.createCell((short)1).setCellValue(accion);

row.createCell((short)2).setCellValue(gettime("dia"));

row.createCell((short)3).setCellValue(gettime("mes"));

row.createCell((short)4).setCellValue(gettime("year"));

// Write the output to a file

FileOutputStream fileOut =new FileOutputStream("horario.xls");

wb.write(fileOut);

fileOut.close();

}

elseif(name.compareToIgnoreCase("Paty")==0){

Iterator rows = sheet2.rowIterator();

int y = 0;

while( rows.hasNext() ){

HSSFRow row = (HSSFRow) rows.next();

y++;

}

if (y%28==0 && y!=0){

try{

SmtpGmail mail =new SmtpGmail();

mail.sendMessage("aaa@gmail.com","Horario Sendero","Horario Sendero","horario.xls);}

catch(Exception e){

e.printStackTrace();

}

}

//Create a row and put some cells in it. Rows are 0 based.

HSSFRow row = sheet2.createRow((short)y);

// Or do it on one line

row.createCell((short)0).setCellValue("Paty");

row.createCell((short)1).setCellValue(accion);

row.createCell((short)2).setCellValue(gettime("dia"));

row.createCell((short)3).setCellValue(gettime("mes"));

row.createCell((short)4).setCellValue(gettime("year"));

FileOutputStream fileOut =new FileOutputStream("horario.xls");

wb.write(fileOut);

fileOut.close();

}

}catch( IOException ex){

ex.printStackTrace();}

}

privatevoid SalidaActionPerformed(java.awt.event.ActionEvent evt){

// TODO add your handling code here:

try{

Excel(NombreText.getText(),"Salio a las: ");

JOptionPane.showMessageDialog(null,"Tu entrada ha sido guardada");}

catch ( IOException ex ){

ex.getCause();}

}

privatevoid ComidaRegresoActionPerformed(java.awt.event.ActionEvent evt){

// TODO add your handling code here:

try{

Excel(NombreText.getText(),"Regreso de comer a las :");

JOptionPane.showMessageDialog(null,"Tu entrada ha sido guardada");}

catch ( IOException ex ){

ex.printStackTrace();}

}

privatevoid ComidaActionPerformed(java.awt.event.ActionEvent evt){

// TODO add your handling code here:

try{

Excel(NombreText.getText(),"Fue a comer a las: ");

JOptionPane.showMessageDialog(null,"Tu entrada ha sido guardada");}

catch ( IOException ex ){

ex.printStackTrace();}

}

privatevoid EntradaActionPerformed(java.awt.event.ActionEvent evt){

// TODO add your handling code here:

try{

Excel(NombreText.getText(),"Entro a las :");

JOptionPane.showMessageDialog(null,"Tu entrada ha sido guardada");

}

catch ( IOException ex ){

ex.printStackTrace();}

}

privatevoid AlejandroActionPerformed(java.awt.event.ActionEvent evt){

// TODO add your handling code here:

NombreText.setText("Alejandro");

}

privatevoid PatyActionPerformed(java.awt.event.ActionEvent evt){

// TODO add your handling code here:

NombreText.setText("Paty");

}

/**

* @param args the command line arguments

*/

publicstaticvoid main(String args[]){

java.awt.EventQueue.invokeLater(new Runnable(){

publicvoid run(){

new HorarioSendero().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JButton Alejandro;

private javax.swing.JButton Comida;

private javax.swing.JButton ComidaRegreso;

private javax.swing.JButton Entrada;

private javax.swing.JTextField NombreText;

private javax.swing.JButton Paty;

private javax.swing.JButton Salida;

// End of variables declaration

}

i also have another class for sending the mail but is not really important

thanks for any help

[24563 byte] By [lonrota] at [2007-11-27 9:50:46]
# 1

Hi!

follow these steps your jar file will work properly.

1: write following lines in a notepad.

Manifest-Version: 1.2

Main-Class: your main class name

2:save this file as manifest.mft

3:write following lines in another notepad

jar cvfm jarfile.jar manifest.mft *.class

4:save this file as make_jar.bat

5:now execute this "make_jar.bat"

this file will execute command written in it and will create "jarfile.jar"

which is your required jar file.

abdul_kareema at 2007-7-13 0:19:38 > top of Java-index,Java Essentials,Java Programming...