2017-03-01 3 views
0

Je continue d'obtenir l'erreur NoClassDefFoundError mais je n'arrive pas à trouver comment la supprimer. J'ai lu beaucoup de réponses mais étant débutant, je n'arrive toujours pas à le comprendre.NoClassDefFoundError @ look and feel ligne d'installation

J'essaye de mettre mon regard et sens à WebLaf (weblookandfeel.com) mais je ne peux pas sembler faire ainsi. J'ai téléchargé le fichier jar complet dans le même dossier que mon fichier .java, compilé avec le chemin de la classe (javac -cp "weblaf-complete-1.29.jar;" HomeScreen.java).

Cependant, je continue à obtenir un NoClassDefFoundError @ la ligne où j'appelle WebLookAndFeel.install(); L'exception dit Exception in thread "main" java.lang.NoClassDefFoundError: com/alee/laf/WebLookAndFeel @ ligne i appelé WebLookAndFeel.install()

Caused by: java.lang.ClassNotFoundException: com.alee.lad.WebLookAndFeel at java.net.URLClassLoader.findClass(Unknown source) ...

Voici un certain code général à la recherche de ce qui est à moi Il est probablement trop long à publier car il utilise JTabbedPanes dans JTabbedPanes qui implique donc beaucoup de panneaux.

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.JInternalFrame; 
import javax.swing.*; 
import java.io.*; 
import com.alee.laf.WebLookAndFeel; 
import javax.swing.UIManager; 
import javax.swing.UIManager.LookAndFeelInfo; 
public class HomeScreen extends JFrame 
{ 
    //JComponent Declarations 
    public void initiate() 
    { 
     WebLookAndFeel.install(); 

     //Rest of JFrame setup code 
    } 

    //Multiple panel setups 

    public static void main(String[] args) 
    { 
     HomeScreen hs = new HomeScreen(); 
     hs.initiate(); 
    } 
} 

Apologies à l'avance; Je me sens comme si je fais une erreur stupide mais j'ai lu tant de choses en ligne pour potentiellement m'aider mais je ne peux pas comprendre dehors.

+0

Quelle est la commande que vous utilisez pour appeler votre classe? Est-ce que ce pot est aussi dans le classpath? (probablement pas) – GhostCat

+0

Je ne suis pas sûr de ce que vous voulez dire – 15150776

+0

Vous nous avez montré votre appel à ** javac ** qui ** compile ** java dans les fichiers de classe. Mais pour ** exécuter ** votre classe, vous utilisez ** java ** ... et vous avez également besoin d'informations sur le chemin de classe. Quand vous ne savez pas de quoi je parle, vous devriez aller ici: https://docs.oracle.com/javase/tutorial/getStarted/index.html – GhostCat

Répondre

0

Exécutez le programme avec le commutateur classpath:

java -cp ".;weblaf-complete-1.29.jar" HomeScreen 

Cela inclut le répertoire courant (la période) et le pot de weblaf séparés par le ;.

java -help a la documentation sur l'interrupteur classpath:

-cp <class search path of directories and zip/jar files> 
-classpath <class search path of directories and zip/jar files> 
       A ; separated list of directories, JAR archives, 
       and ZIP archives to search for class files. 
+0

N'a pas fonctionné malheureusement. Même erreur – 15150776

+0

@ 15150776 Essayez 'java -cp. MaisonScreen'. – badjr