Java/Ubuntu - 在 Windows 上的主要工作之外打印,但在 Ubuntu 14.04 上不执行任何操作

Posted

技术标签:

【中文标题】Java/Ubuntu - 在 Windows 上的主要工作之外打印,但在 Ubuntu 14.04 上不执行任何操作【英文标题】:Java/Ubuntu - Print outside of main works on Windows but does nothing on Ubuntu 14.04 【发布时间】:2016-08-20 23:52:31 【问题描述】:

我有一个 Intellij 项目。我在 Windows 上编译(“制作”)它,并将其发送到运行 Java 1.8Ubuntu 14.04 远程服务器。

我的问题是main 方法之外的System.out.println() 没有打印任何内容。 我在这个问题上花了几个小时,我可以确保:

我知道这些方法会被执行,因为它们会引发警告:Aug 20, 2016 7:35:36 PM org.apache.pdfbox.cos.COSDocument finalize WARNING: Warning: You did not close a PDF Document

当执行结束时,我总是得到以下汇率输出:[]

打印我调用它们的方法并将打印行放在这些方法的开头,不会做任何事情。

注意 为了执行我的项目,我使用:java MyProject.TestAlgo,其中 TestAlgo 是主类。


编辑: 我希望输出是一个列表,例如:[1.0, 2.3, ..., 5.4],但我得到[]

我认为问题不是编程问题,因为每当我在运行 Windows 的计算机上编译它时,我都会从main 之外获得打印。

当我编译项目并在 Ubuntu 远程服务器 上运行它时,除了来自 main 的打印以及来自 main 外部的方法引发的警告之外,我看不到任何输出班级。 所有尝试打印并在 main 中调用的方法都声明为 static

【问题讨论】:

我看不到你的 ratePDF 在你的主方法中被调用的地方。 您的main 由于语法问题仍然无法编译。如果您向我们展示您的真实代码,那就太好了。 代码缩写为[...]的作用是什么?另外,ratePDF 中的打印语句是否打印任何内容?简而言之,预期的输出是什么,你得到了什么? @tkausl 问题是我还在rateElementsDouble(filePDF, listElements) 方法中调用了php。 @fge 我正在编辑,所以我的问题会更清楚。 【参考方案1】:

已解决:

我在 Windows 上使用 1.8.0.101 JDK 版本编译 Java,并在 Ubuntu 上使用 1.8.0.91 运行它,这(我认为)一定会造成版本冲突..

我通过更新 Java JRE 解决了这个问题,因此我在 Windows 和 Ubuntu 上拥有相同版本的 Java。

【讨论】:

以上是关于Java/Ubuntu - 在 Windows 上的主要工作之外打印,但在 Ubuntu 14.04 上不执行任何操作的主要内容,如果未能解决你的问题,请参考以下文章

怎么在windows上安装Atom

怎么在windows上安装Atom

如何在windows上配置并运行Nginx

Mysql5.5 percona可以在windows上安装吗?

如何在windows上配置并运行Nginx

odoo10.0可以在windows上运行吗