CLASSPATH设置

本主题介绍Geode进程如何设置其CLASSPATH。

为了简化CLASSPATH环境设置,Geode已将Geode进程所需的所有应用程序库组织到* -dependencies.jar文件中。 所有依赖JAR文件位于path_to_product / lib目录中。 当使用gfsh启动服务器或定位器进程时,所需的应用程序JAR文件将自动加载到进程的CLASSPATH中。

Note: 要在您的应用程序中嵌入Geode,请将“path_to_product / lib / geode-dependencies.jar”添加到您的CLASSPATH中。

下表列出了与Geode进程关联的依赖JAR文件::

Geode 进程 关联的JAR文件
gfsh gfsh-dependencies.jar
server 和 locator geode-dependencies.jar
Note:

将此库用于托管缓存数据的所有独立或嵌入式Geode进程(包括Java客户端)。

在gfsh管理进程中修改CLASSPATH

有两个选项用于更新在gfsh命令行上启动的Geode Server和Locator进程的CLASSPATH。

选项 1: 在进程启动时指定--classpath参数。 例如,要修改Locator的CLASSPATH:

gfsh> start locator --name=locator1 --classpath=/path/to/applications/classes.jar

并修改Server的CLASSPATH:

gfsh> start server --name=server1 --classpath=/path/to/applications/classes.jar

作为--classpath选项的参数提供的应用程序类是前缀到Server或Locator的CLASSPATH,从第二个位置开始。 出于安全考虑,CLASSPATH中的第一个条目保留给核心Geode jar文件。

选项2:在操作系统环境中定义CLASSPATH环境变量。 然后,在进程启动时指定--include-system-classpath参数。 例如:

gfsh> start locator --name=locator1 --include-system-classpath=true

Server进程也可以这样做:

gfsh> start server --name=server1 --include-system-classpath=true

此选项在启动时将系统CLASSPATH环境变量的内容附加到Locator或Server的CLASSPATH。 指定此选项但没有设置, 将默认设置为true。

设置应用程序和独立Java进程的CLASSPATH

如果以编程方式(独立或嵌入式)启动Geode进程,我们建议您使用java -classpathjava -cp命令行选项在程序执行时指定CLASSPATH。 此方法作为将CLASSPATH设置为环境变量的优先方法,因为它允许您为每个应用程序单独设置值而不影响其他应用程序,而且其他应用程序无法修改本进程的内容。

例如,要使用LocatorLauncher API启动Geode Locator进程,可以在命令行上执行以下命令:

prompt# java -cp "path_to_product/lib/geode-dependencies.jar"
org.apache.geode.distributed.LocatorLauncher start locator1
<locator-launcher-options>

使用ServerLauncher API启动Geode Server进程:

prompt# java -cp "path_to_product/lib/geode-dependencies.jar:/path/to/your/applications/classes.jar"
org.apache.geode.distributed.ServerLauncher start server1
<server-launcher-options>

请注意,除了与进程关联的“* -dependencies.jar”文件之外,还必须在Geode进程中指定要访问的任何自定义应用程序JAR。 例如,如果您计划在Region上使用定制的压缩器,则应指定包含要使用的压缩应用程序的应用程序JAR。

使用嵌入式缓存启动应用程序:

java -cp "path_to_product/lib/geode-dependencies.jar:/path/to/your/applications/classes.jar"
com.mycompany.package.ApplicationWithEmbeddedCache

注意: 使用自己的应用程序更新服务器进程的CLASSPATH的另一种方法是使用gfsh deploy命令。 部署应用程序JAR文件将自动更新所有部署成员的CLASSPATH。 有关详细信息,请参阅[部署Apache应用程序JAR到Apache Geode成员](../配置/ cluster_config / deploying_application_jars.html#concept_4436C021FB934EC4A330D27BD026602C)。

results matching ""

    No results matching ""