首页 > 解决方案 > Java - Linux 上的命令行:运行代码后没有任何输出

问题描述

我是命令行的初学者。我使用 Eclipse 来解决我计算机上 cplex.jar 的优化问题。由于我的电脑不足以解决大问题,我尝试使用学校的 Linux 服务器。我终于找到了一个没有错误的代码片段。但是,在我运行它之后,我什么也没看到(解决问题等)。你能帮我理解为什么在这之后我什么都看不到吗?

在这段代码之前,我有很多关于我的 java 文件、我的参数、jar 文件等的错误。

javac -source "1.8" -cp ".:./PDP-TWT2/cplex.jar" PDP-TWT2/src/MainPDP2.java PDP-TWT2/src/Node.java PDP-TWT2/src/Vehicle.java PDP-TWT2/src/Arc.java < "PDP-TWT2/Param.txt"

当我运行我的代码时,我在 Eclipse 中看到以下内容。我相信这是我应该在服务器上看到的,对吧?

 **************************************************.
Warning:  Output names have been modified to conform to LP format.
Tried aggregator 2 times.
MIP Presolve eliminated 1604 rows and 96 columns.
MIP Presolve modified 244 coefficients.
Aggregator did 180 substitutions.
Reduced MIP has 3299 rows, 1970 columns, and 11256 nonzeros.
Reduced MIP has 1942 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.01 sec. (11.67 ticks)
Probing fixed 12 vars, tightened 0 bounds.

...许多其他类似的行...

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

      0     0       35.5800    72                     35.5800      891         
      0     0       36.3600    90                    Cuts: 68     1290         
      0     0       36.3600   102                    Cuts: 68     1644

标签: javalinuxcommand-linejavaccplex

解决方案


您需要先编译然后执行应用程序。假设您有src包含源代码的out目录和编译类的目录:

$ cd PDP-TWT2
$ javac -source 1.8 -d ./out src/**/*.java 

然后执行包含该main()方法的类:

$ cd out
$ java MainPDP2 < ../Param.txt

结帐要点,第 1 部分,第 1 课:编译和运行一个简单的程序,如果想了解更多信息。如果您使用的是 Java 11,则使用JEP 330: Launch Single-File Source-Code Programs可以简化整个过程。


推荐阅读