繁体   English   中英

在 linux 中用 Java 编译 Cplex

[英]Compile Cplex in Java in linux

我正在尝试在使用 linux(并且我是 Windows 用户)和使用(通过和应用程序发送命令)的集群中使用 CPLEX 表示法编译我的 file.java 的优化问题

javac file.java

我收到如下错误:

file.java:4: error: package ilog.concert does not exist
import ilog.concert.IloException;
                   ^
file.java:5: error: package ilog.concert does not exist
import ilog.concert.IloLinearNumExpr;
                   ^
file.java:6: error: package ilog.concert does not exist
import ilog.concert.IloNumVar;
                   ^
file.java:7: error: package ilog.concert does not exist
import ilog.concert.IloNumVarType;
                   ^
file.java:8: error: package ilog.concert does not exist
import ilog.concert.IloRange;
                   ^
file.java:9: error: package ilog.cplex does not exist
import ilog.cplex.IloCplex;

所以它不能识别应该在集群中的这个泛化中的库(以及导入)

/home/apps/cplex/12.6.1/cplex/lib/cplex.jar

我的问题是,我是否必须在 javac 命令行中添加一些内容或未连接路径(如 int Windows)?

使用-cp命令行参数将 jar 文件添加到编译时类路径。 您还需要在运行代码时指定类路径。

$ javac -cp /home/apps/cplex/12.6.1/cplex/lib/cplex.jar file.java
$ java -cp /home/apps/cplex/12.6.1/cplex/lib/cplex.jar:. file

理想情况下,开始使用 Java 包而不是默认包,并遵循 Java 命名约定。

另外,如果您一开始不熟悉 Java,在您开始尝试运行任何像这样复杂的东西之前,我会阅读一些教程等。

无论是在 Windows、Linux、OS X 还是任何其他操作系统上,Java 编译器都需要知道在何处查找程序使用但未包含在其源代码中的类。 为此目的,它使用类路径。

如何确定类路径的内容有点复杂,它可以具有特定于实现的细节,但对于您的特定情况,您可能应该只使用javac-cp选项来告诉它在哪里可以找到所需的类:

javac -cp /home/apps/cplex/12.6.1/cplex/lib/cplex.jar file.java

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM