【问题标题】:Using Popen() in Python 3.6.2 to open a JAVA class is failing [duplicate]在 Python 3.6.2 中使用 Popen() 打开 JAVA 类失败 [重复]
【发布时间】:2017-07-25 22:38:39
【问题描述】:

我的 Python 文件中的这行代码似乎返回了错误:

Could not find or load main class TestClass

TestClass.java 与我的.py 文件位于同一文件夹中。不知道出了什么问题。有什么想法吗?

process = Popen(['java', 'TestClass'], stdout=PIPE)

编辑:编译 java 文件有效,但是现在我在尝试运行它时遇到以下错误。我直接测试了java文件,它工作正常,所以这似乎是python到java版本的问题?我现在正在运行 java 8 最新版本,以及最新版本的 python...

Exception in thread "main" java.lang.UnsupportedClassVersionError: TestClass : Unsupported major.minor version 52.0
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(Unknown Source)
   at java.security.SecureClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.access$100(Unknown Source)
   at java.net.URLClassLoader$1.run(Unknown Source)
   at java.net.URLClassLoader$1.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoa`enter code here`der.loadClass(Unknown Source)
   at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

【问题讨论】:

  • TestClass 是否已编译为 .class 文件?
  • 不,我只有 .java 文件。也许这就是问题所在。 :)
  • 从终端发出java TestClass 是否有效?
  • 是的,它在我运行 java TestClass 时工作,它只在我运行调用上述代码的 python .py 文件时抛出错误......我似乎安装的唯一 JRE 和 JDK 是最新的 1.8 版本......所以不确定世界上发生了什么......

标签: java python popen


【解决方案1】:

您的 python 脚本正在寻找已编译的 .class 文件,而您只有未编译的 .java 文件。

【讨论】:

    猜你喜欢
    • 2017-12-18
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多