Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 爪哇州德比:麻烦与;创建“U型”;陈述_Java_Eclipse_Types_Classpath_Derby - Fatal编程技术网

Java 爪哇州德比:麻烦与;创建“U型”;陈述

Java 爪哇州德比:麻烦与;创建“U型”;陈述,java,eclipse,types,classpath,derby,Java,Eclipse,Types,Classpath,Derby,我一直在Eclipse中摆弄ApacheDerby。我已经启动了一个网络服务器,并且一直在使用servlet。在我的Eclipse项目中,在包“base.pack”中有一个名为“User”的类。我打开了一个SQL脚本,我一直在尝试将实现可序列化的User转换为自定义类型。当我运行以下行时,一切正常: CREATE TYPE CARTEBLANCHE.bee EXTERNAL NAME 'base.pack.User' LANGUAGE JAVA 这遵循他们在此处确定的一般格式: 现在,当我尝试

我一直在Eclipse中摆弄ApacheDerby。我已经启动了一个网络服务器,并且一直在使用servlet。在我的Eclipse项目中,在包“base.pack”中有一个名为“User”的类。我打开了一个SQL脚本,我一直在尝试将实现可序列化的User转换为自定义类型。当我运行以下行时,一切正常:

CREATE TYPE CARTEBLANCHE.bee
EXTERNAL NAME 'base.pack.User'
LANGUAGE JAVA
这遵循他们在此处确定的一般格式:

现在,当我尝试使用这种新类型创建表时,我得到了一个错误。我运行以下行:

CREATE TABLE CARTEBLANCHE.TestTabel (ID INTEGER NOT NULL, NAME CARTEBLANCHE.bee, PRIMARY KEY(ID));
我收到以下错误:

列“NAME”的类“base.pack.User”不存在或不可访问。如果类不是公共的,则可能发生这种情况

现在,这个类实际上是公共的,正如我前面提到的,它确实实现了序列化。我不认为我说的包名不对,但我可能错了。我想知道,这是我的类路径的问题吗?如果是,您建议我如何解决此问题?我承认我对类路径知之甚少

多谢各位


(作为参考,我已经将我的项目构建路径配置为包括
derby.jar
derbyclient.jar
derbytools.jar
、和
derbynet.jar
,并且我也将这些文件放入了我项目的
lib
文件夹中。),我是否可以建议,如果您对Java的类路径概念感到不舒服,那么在Derby中编写自己的自定义数据类型可能是一个具有挑战性的项目

在这里描述的特定情况下,将出现的一个问题是,自定义Java代码不仅必须可用于客户端应用程序,而且必须可用于Derby网络服务器,这意味着您需要修改服务器的类路径以及应用程序的类路径

这都是可能的,只是它不是一个初学者水平的项目

要开始定制Derby网络服务器,第一个主题涉及如何启动它。以下是一般流程的概述:

根据您启动Derby网络服务器的精确程度,您可能会在
startNetworkServer
startNetworkServer.bat
脚本中编辑类路径设置,或者在您自己编写的脚本中编辑类路径设置以启动服务器

如果像Eclipse或Netbeans这样的工具正在启动Derby网络服务器,那么您需要深入了解该工具的详细信息,以了解有关如何配置其类路径的更多信息

如果您已经编写了一个自定义Java应用程序来启动Derby网络服务器(例如,如下所述),那么您将配置自定义应用程序的类路径

无论如何,作为一个基本步骤,您需要在Derby网络服务器的类路径中部署自定义Java扩展类,这意味着您需要将它们构建到一个.jar文件中,并将该.jar文件放在Derby网络服务器可以访问的某个地方,您需要使构建一个jar并将其复制到正确位置的过程变得简单,因此您应该将其集成到您正在使用的任何构建工具中(ApacheAnt?)


和,你需要考虑java安全策略,因为默认安全策略会阻止你将自定义java类简单地加载到你的德比网络服务器中,因为这看起来像是恶意软件攻击,而德比网络服务器将试图阻止它。因此,请学习安全手册的这一部分:

尽可能礼貌地说,如果您对Java的类路径概念感到不舒服,那么在Derby中编写自己的自定义数据类型可能是一个具有挑战性的项目

在这里描述的特定情况下,将出现的一个问题是,自定义Java代码不仅必须可用于客户端应用程序,而且必须可用于Derby网络服务器,这意味着您需要修改服务器的类路径以及应用程序的类路径

这都是可能的,只是它不是一个初学者水平的项目

要开始定制Derby网络服务器,第一个主题涉及如何启动它。以下是一般流程的概述:

根据您启动Derby网络服务器的精确程度,您可能会在
startNetworkServer
startNetworkServer.bat
脚本中编辑类路径设置,或者在您自己编写的脚本中编辑类路径设置以启动服务器

如果像Eclipse或Netbeans这样的工具正在启动Derby网络服务器,那么您需要深入了解该工具的详细信息,以了解有关如何配置其类路径的更多信息

如果您已经编写了一个自定义Java应用程序来启动Derby网络服务器(例如,如下所述),那么您将配置自定义应用程序的类路径

无论如何,作为一个基本步骤,您需要在Derby网络服务器的类路径中部署自定义Java扩展类,这意味着您需要将它们构建到一个.jar文件中,并将该.jar文件放在Derby网络服务器可以访问的某个地方,您需要使构建一个jar并将其复制到正确位置的过程变得简单,因此您应该将其集成到您正在使用的任何构建工具中(ApacheAnt?)


和,你需要考虑java安全策略,因为默认安全策略会阻止你将自定义java类简单地加载到你的德比网络服务器中,因为这看起来像是恶意软件攻击,而德比网络服务器将试图阻止它。因此,请学习安全手册的这一部分:

您是否将错误文本粘贴到问题中,以“我收到以下错误”?看起来您粘贴了CREATETABLE语句两次。哎呀!你是对的,我错了。我编辑