【问题标题】:JPype (Python): importing folder of jar'sJPype (Python):导入 jar 的文件夹
【发布时间】:2017-10-17 10:47:32
【问题描述】:

我正在使用 JPype 来处理 python 中的 java 类。 我有一个包含多个自行编写的 .jar 文件的文件夹。

我知道如何在很长的路上导入多个 .jar:

...
CLASSPATH = "/path/to/jars/first.jar:/path/to/jars/second.jar"
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % CLASSPATH)
MYLIB= jpype.JPackage("org").mylib
MyClass = MYLIB.MyClass
myObj = MyClass()

这很好用,但我认为可能有更好的方法。

我已经试过了:

CLASSPATH = "/path/to/jars/*.jar"

还有这个:

CLASSPATH = "/path/to/jars/*"

在这两种情况下都会出现以下错误:

user@user:~/path/to/python/$ python test.py
Traceback (most recent call last):
  File "test.py", line 23, in <module>
    myObj = MyClass()
  File "/usr/local/lib/python2.7/dist-packages/JPype1-0.6.2-py2.7-linux-x86_64.egg/jpype/_jpackage.py", line 60, in __call__
    raise TypeError("Package {0} is not Callable".format(self.__name))
TypeError: Package org.mylib.MyClass is not Callable

我的问题:

有没有什么方法可以在 JPype 中轻松导入包含多个 .jar 的文件夹?

【问题讨论】:

    标签: java python jpype


    【解决方案1】:

    您可以使用 Python 代码加入 jar 文件列表而无需硬编码

    f'{str.join(":", ["path/to/jars/"+name for name in os.listdir("path/to/jars")])}'
    

    【讨论】:

      猜你喜欢
      • 2019-09-07
      • 2021-01-30
      • 2013-04-04
      • 2020-11-07
      • 2021-11-13
      • 2019-05-31
      • 1970-01-01
      • 2018-06-24
      • 2018-08-19
      相关资源
      最近更新 更多