问题标签 [jcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
343 浏览

python - dll在运行jcc时加载失败

运行时:

我得到错误

C:\Python26\python.exe: DLL load failed: The specified module could not be found

我检查了 jcc.dll 的目录在 PATH 中。

任何帮助将不胜感激。

0 投票
0 回答
90 浏览

java - 使用 JCC 创建 Java 库的接口后,如何在 Python 脚本中创建 Java 字符串对象?

我有一个 Java 库,我使用 Apache 的 JCC 创建了一个 CPython 接口。当我执行以下操作时,会出现“String”对象,所以我认为 String 对象有一个合适的接口(“p”是我使用“import library as p”加载的库)。

使用我“接口”的这个库从 Python 创建 Java 字符串的方法是什么?互联网上没有答案,JCC 文档太短。

我不想要一个 Python 字符串,而是一个可以传递给接口 Java 方法的 Java 字符串。

0 投票
1 回答
145 浏览

java - 使用 JCC 从 Python 覆盖 Java 类。那可能吗?

我正在使用 JCC 为 Java 库创建 Python 包装器,并且我需要覆盖 Python 脚本中 Java 类的方法。可能吗?如果可能的话,你怎么能做到这一点?

0 投票
2 回答
451 浏览

python - 当别名为同一路径时,如何指定绝对路径 $ /usr/bin/python 与 $ python 有不同的结果?

我正在尝试make具有所需依赖项 JCC 的 PyLucene。(JCC 是一个从 Python 调用 Java 的代码生成器。)

注意:操作系统为 Mac OS X 10.7.4。

包含的 make 脚本运行:

输出:

但运行以下是成功的:

即使 python 指向 /usr/bin/python:

输出:

python别名指向 时/usr/bin/python,这些结果有何不同?

0 投票
2 回答
3498 浏览

macos - 在 Mac 上安装 PyLucene

我希望能够在我的 Mac 上使用 pyLucene。这些说明让我绝望地迷失了方向,因为每个设置或制作说明都要求我在它之前做一些事情,而且很难知道从哪里开始以及从哪个窗口开始做什么。

我已经下载了 PyLucene。我想知道的第一件事是我把文件夹放在哪里,因为这对我来说似乎不是不言而喻的。

要使用它,我被告知我需要构建 JCC,它包含在 pylucene 下载中。

说明:

在命令行中,输入:

但要做到这一点,我认为,我需要在正确的位置或将文件夹放在正确的位置,否则我会得到"setup.py" not found.

您可以在此环境中提供任何帮助(shell 窗口?IDE?)。非常感谢通过第一部分的任何帮助:构建 JCC,然后设置 pylucene。

0 投票
4 回答
95400 浏览

java - SQL CODE -104(错误)代表什么?

我正在通过 jcc 执行 SQL 查询以运行报告。当我打开程序的错误日志文件并检查 SQL 查询时,一切似乎都很好(没有多余或缺少的括号、逗号等,语法很好)但是当我执行时,我收到了这个错误:

[Report.execute()] DB2 SQL 错误:SQLCODE=-104, SQLSTATE=42601, SQLERRMC=,;ATE IN (1,2,3,10,1) ;, DRIVER=4.12.55

当我研究 SQLCODE 时,我发现这意味着查询中存在非法符号。我可以寻找什么来找到这个非法符号?

这是查询

在此处输入图像描述

很抱歉字体很小,但如果你放大 200% 左右,你可以更好地看到查询。

非常感谢 :)

0 投票
1 回答
276 浏览

python - SIGSEGV:JCC 库代码中的分段错误

我正在使用 JCC Python-Java 桥,并且在大多数情况下它都可以工作。但是,我收到以下错误:

JRE 版本:7.0_17-b02

Java 虚拟机:Java HotSpot(TM) 客户端虚拟机(23.7-b01 混合模式 linux-x86 )

有问题的框架:

C [_ciasliveschema.so+0x21e75c] boxJObject(_typeobject*, _object*, java::lang::Object*)+0x22c

堆栈转储如下:

堆栈:[0xbfbe5000,0xbfc35000],sp=0xbfc33820,可用空间=314k

本机帧:(J=编译的 Java 代码,j=解释的,Vv=VM 代码,C=本机代码)

C [_ciasliveschema.so+0x21e75c] boxJObject(_typeobject*, _object*, java::lang::Object*)+0x22c

C [_ciasliveschema.so+0x221977] boxObject(_typeobject*, _object*, java::lang::Object*)+0x27

C [_ciasliveschema.so+0x225149] _parseArgs(_object* , unsigned int, char , ...)+0x2f69

C [_ciasliveschema.so+0x17e21c] schema::util::t_IndividualCaster_asMessage (schema::util::t_IndividualCaster*, _object*)+0xac

C [python+0x8bda4] PyEval_EvalFrameEx+0x6494

C [python+0x8ccb1] PyEval_EvalCodeEx+0x871

C [python+0xe0a0c] 文件号@@GLIBC_2.0+0xe0a0c

C [python+0x143b5] PyObject_Call+0x45

C [python+0x1b107] 文件号@@GLIBC_2.0+0x1b107

C [python+0x143b5] PyObject_Call+0x45

C [python+0x84a72] PyEval_CallObjectWithKeywords+0x42

C [python+0x1eec1] PyInstance_New+0x71

C [python+0x143b5] PyObject_Call+0x45

C [python+0x86923] PyEval_EvalFrameEx+0x1013

C [python+0x8b347] PyEval_EvalFrameEx+0x5a37

C [python+0x8ccb1] PyEval_EvalCodeEx+0x871

C [python+0x8cd47] PyEval_EvalCode+0x57

boxJObject 函数的代码如下:

这以以下方式调用:

此外,我还修改了 jcc.cpp:initVM() 方法的以下部分:

如下:

这是为了在发生错误时尝试从 JCC 获取更详细的错误消息,因此这可能是错误的根源(尽管上面的 segfault 错误和堆栈跟踪表明并非如此)。

最后,我目前正在 Python 中调用 initVM() 方法,如下所示:

但是,当我尝试按如下方式调用该方法时(以增加可用内存量):

我收到以下错误:

JRE 版本:7.0_17-b02 Java VM:Java HotSpot(TM) 客户端 VM(23.7-b01 混合模式 linux-x86)有问题的框架:C 0x00000000

和堆栈跟踪:

堆栈:[0xbf6e0000,0xbf8e0000],sp=0xbf8dd580,可用空间=2037k

有什么建议么?

0 投票
1 回答
444 浏览

java - 使用 numpy 数组中的 jcc 创建 nd JArray

我有一些我试图从 python 访问的 java 类(不是我写的)。我已经用 JCC 成功编译了它们,并且可以毫无问题地访问这些方法。我可以调用一个需要 numpy 1D 数组(或列表,它们是相同的)的方法,但我不知道如何创建一个 2D 或 3D 的 JArray 来提供给代码。

似乎由于numpy数组是嵌入式列表,它们不能直接转换为JArrays。JCC 文档试图解释如何做到这一点,但它完全晦涩难懂。

http://lucene.apache.org/pylucene/jcc/readme.html

将 obj 转换为 Document 数组

在这两种情况下,obj 的 java 类型必须与它要转换到的数组类型兼容。

使用嵌套数组:

这是一些代码,但由于这还需要一个编译的java类才能工作,我只想让JArrays在1d以上工作。

我还尝试将 JArrays 重新嵌入到 JArrays 中,就像 jcc 文档似乎做的那样,但这似乎也不起作用。

0 投票
1 回答
57 浏览

java - 在 JCC 模块中包含系统类

我有一个 java 类,Prime我已使用以下命令成功地将其“编译”为 python 模块jcc

Prime.factorLists返回一个多维数组;当我从 python 调用它时,我得到 a Jarray,但它充满了Objects ,我无法将其视为数组:

返回一维数组的其他方法确实有效:

我想用来java.util.Arrays.toString将数组转换Objects为字符串并将它们打印出来,但我不知道如何将它打包到我的 python 模块中。或者,我可以以JArray某种方式将它们转换为 python 列表或 s 吗?

0 投票
0 回答
680 浏览

python - 在 mac 上安装 JCC(pylucene 需要)时遇到问题

我正在密切关注pylucene 的安装指南。我无法通过需要安装 JCC 的第一步。

安装 JCC,请简要说明 mac 用户需要:

编辑 setup.py 并检查 INCLUDES、CFLAGS、DEBUG_CFLAGS、LFLAGS 和 JAVAC 中的值是否适合您的系统。这些值也将被编译到 JCC 的 config.py 文件中,并且将在 JCC 调用 distutils 或 setuptools 来编译它正在为其生成代码的扩展时使用。

我不确定要编辑什么。我安装了 Java 1.6。当我运行 setup.py (没有任何编辑)时,它给了我错误(我期望这是因为我没有按照指示编辑任何内容):

无法确定 Java JDK 安装在这台机器上的什么位置。请在运行 setup.py 之前将环境变量 JCC_JDK 设置为该位置。

我是一名新手编码员,所以无法找到我应该在 setup.py 中编辑的内容以使其在 Mac 上工作?我尝试将文件路径放入java,但这没有帮助。任何建议将不胜感激,谢谢!