Gemfire - 无法启动定位器

时间:2016-12-15 23:29:39

标签: java gemfire spring-data-gemfire

我正在尝试使用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中。

1 个答案:

答案 0 :(得分:1)

一些事情......

  1. 我假设{< {1}}安装在" root" (?)是一个完整的,完整的发行版(即从Pivotal的网络...... PivNet下载的形式)?
  2. Pivotal_GemFire_822类包含在com.gemstone.gemfire.distributed.LocatorLauncher中。确保$GEMFIRE/lib/gemfire.jar存在,并且您可以在JAR文件中找到此类(使用gemfire.jar,然后搜索(jar -tvf $GEMFIRE/lib/gemfire.jar | less)" :" )。

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

      如果您没有看到任何返回的值,那么您需要获取包含导出的shell文件,例如: LocatorLauncher

      1. 确保您的GemFire安装的文件系统权限已正确设置。如果你有GemFire 8.2.2。安装在您的主目录($source ~/.bash_profile)下,这应该不是问题。

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

      3. 如果以上都是真的,那么你应该能够毫无意外地启动定位器。请检查这些事情,如果您仍然有问题请告诉我们。

        有关Gfsh脚本在shell启动之前所执行操作的详细技术信息以及启动定位器的操作,请参阅thisthis

        希望这有帮助。

        -John