[英]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.