20 EYLÜL 2011, Salı
Hata: ya ana sınıfı bulmak yüklenemedi
Sorun ve Java kodumu, Vensim için ortak bir nesne arayüzü ile Java için bana izin vermek amacıyla, simülasyon modelleme paketi derleme koşarak yaşıyorum.
Aşağıdaki kod hata derler:
javac -d . -cp ./apache-log4j-1.2.16/log4j-1.2.16.jar:./vensim.jar SpatialModel.java VensimHelper.java VensimException.java VensimContextRepository.java
Aşağıdaki çalıştırmak için çalıştığınızda, ancak:
java -cp ./apache-log4j-1.2.16/log4j-1.2.16.jar:./vensim.jar SpatialModel vars
Aşağıdaki hatayı alıyorum: "Hata: ya ana sınıfı SpatialModel yükü bulunamadı ". SpatialModel.java benim kod bir 'ana' yöntemi (aşağıda), yani sorunun ne olduğundan emin değilim - herkes lütfen bana yardım? içermiyor Teşekkürler.
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 helper\n\tdll lib: " libName "\n\tmodel 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));
}
}
CEVAP
20 EYLÜL 2011, Salı
Sizin sınıf için .class
dosya konumunu ekleyin emin olmalısınız. Bu yüzden, mevcut klasörün içinde eğer sınıf için .
ekleyin.
Windows ayırıcı sınıf not ;
ıe noktalı virgül
Bunu Paylaş:
CLSID aşağıdaki hata nedeniyle başarıs...
Hata sınıfı parça şişirme...
WatiN Hata Derleme Yüklenemedi...
R, nasıl ortalama standart hata bulmak...
&Quot;ya da ana sınıfı bulmak yük"...