Cplex Java Проблема с настройкой библиотеки в Eclipse - PullRequest
0 голосов
/ 02 марта 2020

У меня новая проблема ie с использованием библиотеки Cplex в Eclipse,

Ошибка: не удалось найти или загрузить основной класс Files \ IBM \ ILOG \ CPLEX_Studio1210 \ cplex \ bin \ x64_win64 Причины: java .lang.ClassNotFoundException: Файлы \ IBM \ ILOG \ CPLEX_Studio1210 \ cplex \ bin \ x64_win64

Я добавил cplex.jar из внешних библиотек, а также добавил собственный путь, отредактировав его, Библиотека CPLEX ошибка пути в eclipse

в VMArguments, которые я добавил, -D java .library.path = C: \ Program Files \ IBM \ ILOG \ CPLEX_Studio1210 \ cplex \ bin \ x64_win64

где стоит cplex12100.dll. Раньше мне удавалось работать с ним, но я не мог понять, почему он сейчас не работает.

Все 64-битное.

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 02 марта 2020

Ваше сообщение об ошибке ссылается на следующий путь:

Файлы \ IBM \ ILOG \ CPLEX_Studio1210 \ cplex \ bin \ x64_win64

Обратите внимание, что не начинаться с "C: Program Files". Я предполагаю, что вам нужно заключать в кавычки путь, который вы предоставляете, например:

-Djava.library.path="C:\Program Files\IBM\ILOG\CPLEX_Studio1210\cplex\bin\x64_win64"

Это должно позволить Java обрабатывать ваш путь, который включает пробел.

0 голосов
/ 02 марта 2020

спасибо за ответ. К сожалению, я забыл добавить, что я уже пробовал это, но при такой попытке выдается еще одна ошибка.

Ошибка: невозможно инициализировать модель основного класса (имя моего пакета) .model (имя моего класса) Причина: java .lang.NoClassDefFoundError: ilog / концерт / IloException

Вот часть моего кода, я вырезал половину его (после ...), так как я думаю, это не имеет отношения к вопросу.

package model;
import ilog.concert.*;
import ilog.cplex.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.*;
import java.time.Instant;
import java.util.concurrent.TimeUnit;
public class model {




public static void main(String[] args) throws Exception {


     long startTime = Instant.now().toEpochMilli();

     int a = 45; //matrisin boyutu
     int b = 45; //matrisin 2. boyutu
     int maxdistance = 90; //mesela 90 dan küçük deðerler
     int depot = 0;
     double alfa = 0.9;
     double beta = 0.1;
     float[][] distance = new float[a][b]; // bunu scanner dan çektik

     int m = 3;
     int C = 1200;

     System.out.println();
     System.out.println("m : " + m + "      C : " + C );
     System.out.println();

     ArrayList<ArrayList> Nlist = new ArrayList<ArrayList>();

     Scanner reader = null;
     File burdurData = new File("burdur45.txt");

    ...


    try {

        long timeElapsed = endTime - startTime;

        System.out.println("Execution time in milliseconds: " + timeElapsed);
        System.out.println("Execution time in seconds: " + timeElapsed/1000);



        } // try'ýn parantezi

    catch (IloException exc) {
        System.out.println(exc);
        System.out.println("sýkýntý");
    }



   }

}
...