Olá pessoal, estou com um problema para executar uma classe java minha.
Este é o código dela:
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Walkthrough extends JFrame {
public Walkthrough() {
super("Sample App");
setLayout(new FlowLayout());
add(new JButton("button"));
add(new JCheckBox("check"));
add(new JLabel("label"));
setSize(new Dimension(250,80));
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
new Walkthrough().setVisible(true);
}
}
O código-fonte dela está na pasta src. Compilo ela normalmente e jogo o executável na pasta classes.
Entro na pasta classes e digito:
$ java Walkthrough
Funciona normalmente.
Mas quando tento executá-la(de dentro da pasta classes mesmo) , passando 2 JARs na flag classpath:
$ java -cp …/substance.jar:…/trident.jar -Dswing.defaultlaf=org.pushingpixels.substance.api.skin.SubstanceBusinessLookAndFeel Walkthrough
obtenho o seguinte erro:
Exception in thread “main” java.lang.NoClassDefFoundError: Walkthrough
Caused by: java.lang.ClassNotFoundException: Walkthrough
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Walkthrough. Program will exit.
A JVM nao encontra a minha classe Walkthrough quando eu utilizo o classpath.
O que acontece? A classe Walkthrough está no diretório corrente, e se eu não usar o classpath ela encontra. Mas se eu usar, ela não encontra.