【问题标题】:Cplex Java Library set up path problem in EclipseCplex Java Library 在 Eclipse 中设置路径问题
【发布时间】:2020-06-15 00:06:20
【问题描述】:

我在 Eclipse 中使用 Cplex 库时遇到了新手问题,

错误:无法找到或加载主类 Files\IBM\ILOG\CPLEX_Studio1210\cplex\bin\x64_win64 引起:java.lang.ClassNotFoundException: Files\IBM\ILOG\CPLEX_Studio1210\cplex\bin\x64_win64

我从外部库添加了 cplex.jar 并通过编辑添加了本机路径, CPLEX library path error in eclipse

在我添加的 VMArguments 下, -Djava.library.path=C:\Program Files\IBM\ILOG\CPLEX_Studio1210\cplex\bin\x64_win64

cplex12100.dll 所在的位置。我之前设法使用它,但我找不到它现在不起作用的原因。

一切都是 64 位的。

提前致谢!

【问题讨论】:

    标签: java eclipse directory path cplex


    【解决方案1】:

    您的错误消息引用了以下路径:

    文件\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 处理包含空格字符的路径。

    【讨论】:

      【解决方案2】:

      感谢您的回答, 不幸的是,我忘记补充说我已经尝试过了,但是当我这样尝试时,它会给出另一个错误。

      错误:无法初始化主类模型(我的包名).model(我的类名) 引起:java.lang.NoClassDefFoundError: ilog/concert/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ý");
          }
      
      
      
         }
      
      }
      

      【讨论】:

      • 您应该编辑您的问题,而不是回答“答案”。你甚至可以考虑提出一个新问题;一个问题已解决,现在您有一个不同的问题。话虽如此,听起来您需要修复cplex.jar 的路径,应该使用-classpath 选项指定。
      • @baris 我也遇到了同样的问题(原因:java.lang.NoClassDefFoundError: ilog/concert/IloException)..你解决了吗?
      【解决方案3】:

      您当然应该编辑您的问题。事实上,为了得到错误:

      java.lang.NoClassDefFoundError: ilog/concert/IloException

      我之前遇到过这个错误,我只是通过在我的项目 Java Build Path 的 ClassPath 部分中导入 cplex.jar 而不是在 ModulePath 中解决了它>。还将本机库位置路径设置为 cplex 的 dlls 文件夹。此外,您也可以在 java configuration->show command line 中查看您的详细信息。

      【讨论】:

        猜你喜欢
        • 2020-10-05
        • 2011-09-19
        • 1970-01-01
        • 2018-01-09
        • 2011-02-01
        • 1970-01-01
        • 2020-05-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多