Java error: Cannot find or load main class

1145795 pts.
Tags:
Java
Linux
We've been having trouble compiling and running our Java code. It's intended to allow us to interface Java with with a shared object for Vensim. This code we have no problem with:
javac -d . -cp ./apache-log4j-1.2.16/log4j-1.2.16.jar:./vensim.jar SpatialModel.java     VensimHelper.java VensimException.java VensimContextRepository.java
But when we run this code:
java -cp ./apache-log4j-1.2.16/log4j-1.2.16.jar:./vensim.jar SpatialModel vars
We kept getting this error - "Error: Could not find or load main class SpatialModel." The model does contain a 'main' method so we can't figure out the problem. Can someone help us out? Here's where the main method is:
import java.io.File;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.apache.log4j.Logger;

public class SpatialModel {

    private VensimHelper vh;

    public static final String DLL_LIBNAME_PARAM = "vensim_lib_nam";

    public static final String MODEL_PATH_PARAM = "vensim_model_path";

    private final static int VENSIM_CONTEXT_CREATION_MAX_FAILURE_COUNT = 10;

    public SpatialModel() throws SpatialException {

        String libName = System.getProperty(DLL_LIBNAME_PARAM);
        String modelPath = System.getProperty(MODEL_PATH_PARAM);        

        if(libName == null || libName.trim().equals("")) {
            log.error("Vensim library name has to be set with -D" + DLL_LIBNAME_PARAM);
            throw new SpatialException("Vensim library name has to be set with -D" + DLL_LIBNAME_PARAM);
        }

        if(modelPath == null || modelPath.trim().equals("")) {
            log.error("Model path has to set with -D" + MODEL_PATH_PARAM);
            throw new SpatialException("Model path ahs to be set with -D" + MODEL_PATH_PARAM);
        }

        for (int i = 0; i < VENSIM_CONTEXT_CREATION_MAX_FAILURE_COUNT && vh == null; i++) {             try {                 log.info("creating new vensim helperntdll lib: " + libName + "ntmodel path: " + modelPath);                 vh = new VensimHelper(libName, modelPath);             } catch (Throwable e) {                 log.error("An exception was thrown when initializing Vensim, try: " + i, e);             }         }         if (vh == null) {             throw new SpatialException("Can't initialize Vensim");         }     }     public static void main(String[] args) throws VensimException {         long before = System.currentTimeMillis();            String libName = System.getProperty(DLL_LIBNAME_PARAM);         String modelPath = System.getProperty(MODEL_PATH_PARAM);         if (libName == null) {             libName = "libvensim";         }         if(modelPath == null) {             modelPath = "~/BassModel.vmf";         }         System.setProperty(DLL_LIBNAME_PARAM, libName);         System.setProperty(MODEL_PATH_PARAM, modelPath);         if (args.length > 0 && args[0].equals("info")) {
            System.out.println(new VensimHelper(libName, modelPath).getVensimInfo());
        } else if (args.length > 0 && args[0].equals("vars")) {
            VensimHelper helper = new VensimHelper(libName, modelPath);
            String[] vars = helper.getVariables();
            for (String var : vars) {
                System.out.println(helper.getVariableInfo(var));
            }
        } else {

            File f = new File(".");
            System.out.println(f.getAbsolutePath());

            SpatialModel sm = new SpatialModel();
        }

        System.out.println("Execution time: " + (System.currentTimeMillis() - before));
    }
}
0

Answer Wiki

Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

Discuss This Question:  

 
There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

To follow this tag...

There was an error processing your information. Please try again later.

Thanks! We'll email you when relevant content is added and updated.

Following

Share this item with your network: