Probléme de complation

hayfa1200 Messages postés 101 Statut Membre -  
hayfa1200 Messages postés 101 Statut Membre -
Bonjour,
j'ai un problème de compilation concernant une application sous netbeans,a chaque fois je compile,il me donne les erreurs suivant:

run:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at com.anthonyeden.lib.util.XArrayList.<clinit>(XArrayList.java:86)
at com.anthonyeden.jnm.JNM.<clinit>(JNM.java:172)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 2 more
Could not find the main class: com.anthonyeden.jnm.JNM. Program will exit.
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

alors que j'ai définit le main class:

package com.anthonyeden.jnm;

import java.io.File;
import java.io.Reader;
import java.io.FileReader;
import java.io.InputStream;
import java.util.Iterator;

import com.anthonyeden.lib.log.Logger;
import com.anthonyeden.lib.log.LogManager;
import com.anthonyeden.lib.util.XArrayList;
import com.anthonyeden.lib.util.IOUtilities;
import com.anthonyeden.lib.config.Configuration;
import com.anthonyeden.lib.config.Dom4jConfiguration;
import com.anthonyeden.lib.config.MutableConfiguration;
import com.anthonyeden.lib.config.ConfigurationException;

import com.anthonyeden.jnm.ui.JNMWindow;

public class JNM{

public static void main(String[] args){

LogManager.setLoggerClassName("com.anthonyeden.lib.log.Log4JLogger");

for(int i = 0; i < args.length; i++){
if(args[i].equals("--nogui")){
useGUI = false;
} else if(args[i].equals("--config")){
i++;
config = args[i];
} else if(args[i].equals("--log")){
i++;
logConfig = args[i];
}
}

try{
File logConfigFile = new File(logConfig);
if(logConfigFile.exists()){
System.out.println("Using file config: " + logConfigFile);
LogManager.configure(logConfigFile);
log = LogManager.getLogger(JNM.class.getName());
//log.info("Using file config: " + logConfig);
} else {
LogManager.configure();
log = LogManager.getLogger(JNM.class.getName());
//log.info("Using basic configuration");
}
} catch(Exception e){
System.err.println("Error initializing logging");
e.printStackTrace();
return;
}

try{
loadConfiguration(new File(config));
} catch(Exception e){
System.err.println("Error loading configuration: " + config);
return;
}

if(useGUI){
JNMWindow app = new JNMWindow();
app.setVisible(true);
app.startMonitor();
} else {
JNMHeadless app = new JNMHeadless();
app.startMonitor();
}
JNM j= new JNM();
}

public static XArrayList getRegisteredMonitors(){
return registeredMonitors;
}

public static XArrayList getRegisteredActions(){
return registeredActions;
}

public static Monitor getMonitor(String className) throws Exception{
Iterator i = registeredMonitors.iterator();
while(i.hasNext()){
MonitorDefinition monitorDef = (MonitorDefinition)i.next();
if(monitorDef.getClassName().equals(className)){
return monitorDef.getMonitorInstance();
}
}
return null;
}

public static Action getAction(String className) throws Exception{
Iterator i = registeredActions.iterator();
while(i.hasNext()){
ActionDefinition actionDef = (ActionDefinition)i.next();
if(actionDef.getClassName().equals(className)){
return actionDef.getActionInstance();
}
}
return null;
}

private static void loadConfiguration(File file){
FileReader reader = null;

try{
reader = new FileReader(file);
loadConfiguration(reader);
} catch(Exception e){
e.printStackTrace();
} finally {
IOUtilities.close(reader);
}
}

private static void loadConfiguration(Reader reader) throws Exception{
configuration = new Dom4jConfiguration(reader);
loadConfiguration(configuration);
}

private static void loadConfiguration(Configuration configuration) throws ConfigurationException{
// load registered monitors
boolean firstMonitorElement = true;
Iterator registerMonitorElements = configuration.getChildren("register-monitor").iterator();
while(registerMonitorElements.hasNext()){
Configuration registerMonitorElement = (Configuration)registerMonitorElements.next();

MonitorDefinition monitorDef = new MonitorDefinition();
monitorDef.loadConfiguration(registerMonitorElement);

log.debug("Registering monitor " + monitorDef.getName());
registeredMonitors.add(monitorDef);

if(firstMonitorElement || monitorDef.isDefault()){
firstMonitorElement = false;
registeredMonitors.setSelectedItem(monitorDef);
}
}

// load registered actions
boolean firstActionElement = true;
Iterator registerActionElements = configuration.getChildren("register-action").iterator();
while(registerActionElements.hasNext()){
Configuration registerActionElement = (Configuration)registerActionElements.next();

ActionDefinition actionDef = new ActionDefinition();
actionDef.loadConfiguration(registerActionElement);

log.debug("Registering action " + actionDef.getName());
registeredActions.add(actionDef);

if(firstActionElement || actionDef.isDefault()){
firstActionElement = false;
registeredActions.setSelectedItem(actionDef);
}
}
}

public static final String DEFAULT_CONFIG = "jnm.xml";
public static final String DEFAULT_LOG_CONFIG = "log.properties";

private static Logger log;

private static boolean useGUI = true;
private static String config = DEFAULT_CONFIG;
private static String logConfig = DEFAULT_LOG_CONFIG;
private static MutableConfiguration configuration;
private static XArrayList registeredMonitors = new XArrayList();
private static XArrayList registeredActions = new XArrayList();

}

merci pour votre aide

4 réponses

Joe
 
Il faut ajouter les bibliothèques commons dans les propriétés de ton projet (dans le java build path).
0
hayfa1200 Messages postés 101 Statut Membre 1
 
les laibriries son présent dans le build path,et lorsque je recompile,le compilateur me dit que "Could not find the main class: com.anthonyeden.jnm.JNM. Program will exit." je pense que le problème est dans la classe JNM
0
Joe
 
On dirait plutôt qu'il manque le chemin vers tes sources (ton répertoire src) dans les propriétés du projet.
0
hayfa1200 Messages postés 101 Statut Membre 1
 
comment je peut ajouter ce chemin svp aidez moi et merci
0