【问题标题】:Java - Command Line on Linux: I don't have any output after I run the codeJava - Linux 上的命令行:运行代码后没有任何输出
【发布时间】:2019-10-31 16:43:02
【问题描述】:

我是命令行的初学者。我使用 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

【问题讨论】:

  • javac 只编译你的代码。它不运行它。您需要使用java 命令行程序来运行编译后的代码。
  • 假设MainPDP2.java 包含main 函数,您可能必须运行java -cp ".:./PDP-TWT2/cplex.jar" PDP-TWT2/src/MainPDP2.class &lt; "PDP-TWT2/Param.txt" 之类的东西。
  • 谢谢@byxor!这很有帮助,但目前还不够。是的,@Bodo!这是包含主要功能的地方。每当我运行 java 时,都会遇到版本问题。

标签: java linux command-line javac cplex


【解决方案1】:

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

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

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

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

如果想了解更多信息,请查看Essentials, Part 1, Lesson 1: Compiling & Running a Simple Program。如果您使用的是 Java 11,则使用 JEP 330: Launch Single-File Source-Code Programs 简化整个过程。

【讨论】:

  • 感谢您的快速回复。不,我没有任何 out 文件夹。我有一个名为“PDP-TWT2”的项目文件夹、2 个子文件夹 src(包括 java 文件)和 bin(包括类文件)。感谢您为我区分 javac 和 java!这很有帮助。不过,当我删除
猜你喜欢
  • 2019-06-11
  • 2012-07-08
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-24
相关资源
最近更新 更多