Foro de elhacker.net

Programación => Java => Mensaje iniciado por: daniel199410 en 14 Enero 2013, 01:23 am



Título: Problema Al Ejecutar Un .jar
Publicado por: daniel199410 en 14 Enero 2013, 01:23 am
Hola:
Antes que nada hay que decir que todavía soy muy novato en esto de programar en Java. Lo que me pasa es que yo creé una aplicación, después hice el .jar, y cuando lo quiero ejecutar me aparece: "could not find the main class: (Aquí va el nombre de la aplicación), program will exit". ¿Esto a qué se debe?.
porque yo lo ejecuto en el cmd como java -jar y el nombre de la aplicación, y el programa así si me corre. ¿Qué podría hacer para solucionar este problema?


Título: Re: Problema Al Ejecutar Un .jar
Publicado por: sapito169 en 14 Enero 2013, 05:42 am
mmmm


porfavor pon el codigo que le pones en el cmd


habres el jar con winrar luego dentro de jar agregas una carpeta con el nombre META-INF
dentro de esta carpeta agregas el el archivo MANIFEST.MF
y dentro de ese archivo pones

Main-Class: HolaMundo


donde HolaMundo es la clase que contiene el metodo main


suerte porfavor responde aunque sea para insultarme


Título: Re: Problema Al Ejecutar Un .jar
Publicado por: daniel199410 en 14 Enero 2013, 16:50 pm
yo pongo :
c:\User\BLACKANGEL\Documents\NetBeansProjects\JavaApplication134\dist>java -jar JavaApplication134.jar.

Y el programa me corre...

Ahora, dentro del MANIFEST.MF dice:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.7.0_05-b06 (Oracle Corporation)
Class-Path:
X-COMMENT: Main-Class will be added automatically by build
Main-Class: javaapplication134.JavaApplication134

Ese es el nombre de la clase con el método main, si embargo me sigue apareciendo el mismo mensaje de que no puede encontrar la main class.

¿Qué hago?
 :(


Título: Re: Problema Al Ejecutar Un .jar
Publicado por: sapito169 en 14 Enero 2013, 21:42 pm
esa es la forma correcta de ejecutar un jar es decir que no tienes ningún problema por que estas diciendo que ese código funciona

c:\User\BLACKANGEL\Documents\NetBeansProjects\JavaApplication134\dist>java -jar JavaApplication134.jar.



Título: Re: Problema Al Ejecutar Un .jar
Publicado por: daniel199410 en 14 Enero 2013, 22:59 pm
¿Entonces porqué no me corre cuando le doy doble click al jar?  :huh:


Título: Re: Problema Al Ejecutar Un .jar
Publicado por: daceu en 14 Marzo 2014, 17:21 pm
Estimados

temgo un problema estoy desarrollando un examen en netbenas como applicacion de escritorio, tengo las clases main creada y el frame donde esta el diseño que les describo linea abajo, pero al momento de ejecutar el jar. me sale un sms indica could not find the main class:classes.principal ya le asiganado la clase principal y nada.. cuando ejecuta desde la misma plataforma netbeans el proyecto corre sin problemas...
que creen que deberia de hacer...

*************************************************

package Ventanas;

    import java.sql.*;
    import Clases.*;
    import java.awt.Toolkit;
    import javax.swing.JOptionPane;

//Daniel

public class Examen extends javax.swing.JFrame {
   
    Connection con =null;
    PreparedStatement s;
    String url= "jdbc:mysql://localhost:3306/examenfonobus2014";
    String user="root";
    String clave="mathias1";
   
    private static final long serialVersionUID = 1L;

    public Examen() {
        initComponents();
        question.setText(p.getPregunta(posicion));
        String[] a = r.setRespuesta(posicion);
            buttonGroup1.clearSelection();
            opc1.setText(a[0]);
            opc2.setText(a[1]);
            opc3.setText(a[2]);
            opc4.setText(a[3]);
            opc1.requestFocus();
          regresar.setEnabled(false);
          TerminarExamen.setEnabled(false);
    }
    int posicion = 0;
    Respuestas r = new Respuestas();
    Preguntas p = new Preguntas();
    Object[] select = {"","","","",""};
   
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        buttonGroup1 = new javax.swing.ButtonGroup();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        question = new javax.swing.JLabel();
        opc1 = new javax.swing.JRadioButton();
        opc2 = new javax.swing.JRadioButton();
        opc3 = new javax.swing.JRadioButton();
        opc4 = new javax.swing.JRadioButton();
        TerminarExamen = new javax.swing.JButton();
        regresar = new javax.swing.JButton();
        avanzar = new javax.swing.JButton();
        jButton1 = new javax.swing.JButton();
        jSeparator1 = new javax.swing.JSeparator();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("EXAMEN FONOBUS");
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

        jPanel1.setBackground(new java.awt.Color(0, 0, 51));
        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Examen"));
        jPanel1.setForeground(new java.awt.Color(255, 255, 51));
        jPanel1.setAutoscrolls(true);
        jPanel1.setMaximumSize(new java.awt.Dimension(2147483647, 2147483647));
        jPanel1.setMinimumSize(new java.awt.Dimension(0, 0));
        jPanel1.setName(""); // NOI18N

        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
        jLabel1.setForeground(new java.awt.Color(255, 255, 0));
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText("Examen Fonobus Marzo 2014");
        jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);

        jLabel2.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel2.setForeground(new java.awt.Color(255, 255, 0));
        jLabel2.setText("Preguntas:");
        jLabel2.setFocusCycleRoot(true);
        jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);

        question.setForeground(new java.awt.Color(255, 255, 0));
        question.setText("1.- Pregunta 1?");

        opc1.setBackground(new java.awt.Color(255, 255, 204));
        buttonGroup1.add(opc1);
        opc1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                opc1ActionPerformed(evt);
            }
        });

        opc2.setBackground(new java.awt.Color(255, 255, 204));
        buttonGroup1.add(opc2);
        opc2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                opc2ActionPerformed(evt);
            }
        });

        opc3.setBackground(new java.awt.Color(255, 255, 204));
        buttonGroup1.add(opc3);
        opc3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                opc3ActionPerformed(evt);
            }
        });

        opc4.setBackground(new java.awt.Color(255, 255, 204));
        buttonGroup1.add(opc4);
        opc4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                opc4ActionPerformed(evt);
            }
        });

        TerminarExamen.setText("Terminar Examen");
        TerminarExamen.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                TerminarExamenActionPerformed(evt);
            }
        });

        regresar.setText("<< Regresar");
        regresar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                regresarActionPerformed(evt);
            }
        });

        avanzar.setText("Avanzar >>");
        avanzar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                avanzarActionPerformed(evt);
            }
        });

        jButton1.setText("Salir");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addComponent(regresar)
                        .addGap(18, 18, 18)
                        .addComponent(avanzar)
                        .addGap(15, 15, 15))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addComponent(TerminarExamen, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(44, 44, 44))))
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(32, 32, 32)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(opc1)
                    .addComponent(question)
                    .addComponent(opc2)
                    .addComponent(opc3)
                    .addComponent(opc4)
                    .addComponent(jButton1))
                .addContainerGap(859, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGap(136, 136, 136))
            .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jSeparator1)
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(14, 14, 14)
                .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGap(27, 27, 27)
                .addComponent(question)
                .addGap(26, 26, 26)
                .addComponent(opc1)
                .addGap(18, 18, 18)
                .addComponent(opc2)
                .addGap(18, 18, 18)
                .addComponent(opc3)
                .addGap(18, 18, 18)
                .addComponent(opc4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 42, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(regresar)
                            .addComponent(avanzar))
                        .addGap(18, 18, 18)
                        .addComponent(TerminarExamen)
                        .addGap(23, 23, 23))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addComponent(jButton1)
                        .addContainerGap())))
        );

        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()
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>                       

    private void avanzarActionPerformed(java.awt.event.ActionEvent evt) {                                       
            if(posicion ==3){
                avanzar.setEnabled(false);
                TerminarExamen.setEnabled(true);
            }
            if (posicion <5){
            regresar.setEnabled(true);
            posicion ++;
            question.setText(p.getPregunta(posicion));
            String[] a = r.setRespuesta(posicion);
            buttonGroup1.clearSelection();
            opc1.setText(a[0]);
            opc2.setText(a[1]);
            opc3.setText(a[2]);
            opc4.setText(a[3]);
          opc1.requestFocus();
        }else{
            Toolkit.getDefaultToolkit().beep();
        }
    }                                       

    private void regresarActionPerformed(java.awt.event.ActionEvent evt) {                                         
        if(posicion > 0){
        posicion --;
        }else{
        }
            if(posicion == 0){
                regresar.setEnabled(false);
            }
            if(posicion > -1){
            avanzar.setEnabled(true);
            question.setText(p.getPregunta(posicion));
            String[] a = r.setRespuesta(posicion);
            buttonGroup1.clearSelection();
            opc1.setText(a[0]);
            opc2.setText(a[1]);
            opc3.setText(a[2]);
            opc4.setText(a[3]);
          opc1.requestFocus();
    }else{
            Toolkit.getDefaultToolkit().beep();
        }
    }                                       

    private void TerminarExamenActionPerformed(java.awt.event.ActionEvent evt) {                                               
        int calificacion = 0;
        for(int i = 0; i < 5; i++){
            if(select.equals(r.getRespuesta(i))){
            calificacion = calificacion + 1;
            }
    }
        calificacion = calificacion * 2;
        JOptionPane.showMessageDialog(null, " Tu Calificacion es " + calificacion);
        regresar.setEnabled(false);
        TerminarExamen.setEnabled(false);
       
        System.exit(0);
    }                                             

    private void opc1ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        select[posicion]= opc1.getText();
    }                                   

    private void opc2ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        select[posicion]= opc2.getText();
    }                                   

    private void opc3ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        select[posicion]= opc3.getText();
    }                                   

    private void opc4ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        select[posicion]= opc4.getText();
    }                                   

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        System.exit(0);
    }                                       

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Examen.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Examen().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton TerminarExamen;
    private javax.swing.JButton avanzar;
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JRadioButton opc1;
    private javax.swing.JRadioButton opc2;
    private javax.swing.JRadioButton opc3;
    private javax.swing.JRadioButton opc4;
    private javax.swing.JLabel question;
    private javax.swing.JButton regresar;
    // End of variables declaration                   
}


Título: Re: Problema Al Ejecutar Un .jar
Publicado por: 1mpuls0 en 14 Marzo 2014, 17:39 pm
Hola.
Por favor no revivas post viejos.
Lee las reglas.

Cuando creas un proyecto se crea un Man.java, aunque hay una opción para no crearlo cuando estás en el asistente.
En caso de que no lo tengas creado, hazlo.

Dentro del Main.java en tu método main debes tener así.

Código:
public static void main(String args[]) {
 new Examen().setVisible(true);
}

No olvides incluir el nombre del package en tu Main.java

Saludos.