1

我正在尝试使用 gfsh 启动定位器,但我不断发现找不到主类。

我正在运行这个: gfsh start locator --name=locator1

在此之后,我收到以下错误:

Error: Could not find or load main class com.gemstone.gemfire.distributed.LocatorLauncher

对我来说,这意味着在类路径中缺少一些东西来找到那个 jar。我的类路径中有这些:

export JAVA_HOME=/Java/jdk1.8.0_111    
export GEMFIRE=/Pivotal_GemFire_822
export GF_JAVA=$JAVA_HOME/bin/java

(我缩写了路径)

安装文档还说您需要在类路径中包含 JDK 的 tools.jar。我这样做了,但没有任何区别。我认为无论如何都会包含在 JAVA_HOME 中。

4

1 回答 1

1

一些东西...

  1. 我假设Pivotal_GemFire_822“root”(?)中的安装是完整的,完整的分发(即从 Pivotal 的网络下载...PivNet)?

该类com.gemstone.gemfire.distributed.LocatorLauncher包含在$GEMFIRE/lib/gemfire.jar. 确保gemfire.jar存在并且您可以在 JAR 文件中找到此类(使用jar -tvf $GEMFIRE/lib/gemfire.jar | less然后搜索 ( :) 查找“ LocatorLauncher”)。

  1. 还要确保您的 $GEMFIRE 环境变量实际上是在您当前的 shell 会话中设置的......

$ 回声 $GEMFIRE

如果您没有看到任何返回值,那么您需要获取包含导出的 shell 文件,例如$source ~/.bash_profile.

  1. 确保您对 GemFire 安装的文件系统权限设置正确。如果您有 GemFire 8.2.2。安装在您的主目录 ( /home/<user>) 下,那么这应该不是问题。

  2. 至于 JDK tools.jar。默认情况下,它不包含在类路径中。旧的 Apple JDK 6(Apple 不再支持)在 Apple JVM 类路径中包含 tools.jar 类,但常规 Sun/Oracle JDK 不包含。另请注意,与 JDK 不同,JRE 在发行版中没有 tools.jar。但是,从技术上讲,从 GemFire 8.1 或 8.2 开始,它也不是严格要求的。

如果以上所有都属实,那么您应该能够毫无意外地启动定位器。请检查这些内容,如果您仍然有问题,请告诉我们。

有关 Gfsh 脚本在 shell 启动之前的作用以及启动定位器的作用的真正详细技术信息,请参见thisthis

希望这可以帮助。

-约翰

于 2016-12-16T19:09:17.700 回答