)
适用JDK 1.8 Gurobi 13已验证 gurobi.jar 字节码版本为 Java 8无需升级 JDK假设 Gurobi 装在C:\gurobi1300\win64默认路径若不同请替换第 0 步确认前提已安装 Gurobi 13目录里有C:\gurobi1300\win64\lib\gurobi.jar。已激活 license有gurobi.lic文件。没有的话先用命令行激活C:\gurobi1300\win64\bin\grbgetkey.exe license-id第 1 步新建 / 打开项目新建File → New → Project → 选「Java」SDK 选你的 Java 8Next → 起个项目名比如GurobiTest→ Create。打开已有File → Open → 选择放.java文件的文件夹。第 2 步设置 Project SDK 为 Java 8File → Project Structure...快捷键CtrlAltShiftS左侧选ProjectSDK选 Java 1.8若下拉没有点Add SDK → JDK定位到 Java 8 安装目录。Language level选8。点 OK。第 3 步把 gurobi.jar 加进依赖关键仍在File → Project Structure...左侧选Modules→ 右侧Dependencies标签页。点下方→JARs or directories…。选择C:\gurobi1300\win64\lib\gurobi.jar→ 确定。看到gurobi.jar出现在依赖列表里 → 点OK。此时代码里写import com.gurobi.gurobi.*;应该不再报红。⚠️ 包名是com.gurobi.gurobiGurobi 11/12/13不是旧教程的gurobi。第 4 步配置运行最关键决定能不能跑起来Run → Edit Configurations...点左上→ 选Application。Name随便比如Run GurobiTest。Main class点一下选GurobiTest或你的主类。点上方Modify options或AltM→ 勾选VM options和Environment variables让这两个输入框显示出来。填入VM options-Djava.library.pathC:/gurobi1300/win64/bin用正斜杠/避免反斜杠转义问题Environment variablesGRB_LICENSE_FILEC:/gurobi1300/win64/bin/gurobi.lic这是 license 文件的真实路径若 license 已放在用户主目录这一项可省略点OK保存。第 5 步运行验证把下面的代码存为GurobiTest.java放在src下点右上绿色三角运行importcom.gurobi.gurobi.*;publicclassGurobiTest{publicstaticvoidmain(String[]args){try{GRBEnvenvnewGRBEnv(gurobi_test.log);GRBModelmodelnewGRBModel(env);GRBVarxmodel.addVar(0,1,0,GRB.BINARY,x);GRBVarymodel.addVar(0,1,0,GRB.BINARY,y);GRBVarzmodel.addVar(0,1,0,GRB.BINARY,z);GRBLinExprobjnewGRBLinExpr();obj.addTerm(1.0,x);obj.addTerm(1.0,y);obj.addTerm(2.0,z);model.setObjective(obj,GRB.MAXIMIZE);GRBLinExprc1newGRBLinExpr();c1.addTerm(1.0,x);c1.addTerm(2.0,y);c1.addTerm(3.0,z);model.addConstr(c1,GRB.LESS_EQUAL,4.0,c1);GRBLinExprc2newGRBLinExpr();c2.addTerm(1.0,x);c2.addTerm(1.0,y);model.addConstr(c2,GRB.GREATER_EQUAL,1.0,c2);model.optimize();System.out.println(Status : model.get(GRB.IntAttr.Status));System.out.println(Objective : model.get(GRB.DoubleAttr.ObjVal));System.out.println(xx.get(GRB.DoubleAttr.X) yy.get(GRB.DoubleAttr.X) zz.get(GRB.DoubleAttr.X));model.dispose();env.dispose();}catch(GRBExceptione){System.out.println(Gurobi error: codee.getErrorCode(), msge.getMessage());}}}看到输出Objective : 3.0且x1.0 y0.0 z1.0就成功了。常见报错对照报错原因解决package com.gurobi.gurobi does not exist第 3 步 jar 没加对重新加gurobi.jar到 Dependenciescannot find symbol/ 红色波浪线同上或缺包名检查 import 和依赖No Gurobi license foundlicense 没找到第 4 步的GRB_LICENSE_FILE填对路径或把gurobi.lic复制到C:\Users\用户名\UnsatisfiedLinkError: ...gurobi...dll第 4 步 VM options 没配补上-Djava.library.pathC:/gurobi1300/win64/binUnsupported major.minor version 52.0之类JDK 太旧Java 8 正好是 52不会有此问题若出现说明用了更低版本升级到 Java 8一句话总结IDEA 里配 Gurobi 设 JDK → 加 gurobi.jar → VM options 填 java.library.path → 环境变量填 GRB_LICENSE_FILE。这四样齐了就能跑。