当前位置: 首页 > 知识库问答 >
问题:

Terracotta工具包缺少类阻止EHCache启动

许彭祖
2023-03-14

我是EHCache的新手,尝试将其用作我们的缓存服务器。我写了代码试图开始:

public class CacheMap {
    private static CacheManager cacheManager=new CacheManager("ehcache.xml");
    private static Cache cache=cacheManager.getCache("firstCache");
}

在类路径中,我已经包含了terra cotta-toolkit-1.6-5 . 2 . 0 . jar、terra cotta-toolkit-1.6-runtime-5.0 . 0、slf4j-api-1.6.6、slf4j-jdk14-1.6.6、ehcache-2.7.0和ehcache-ee-2.7.0

我有ehcache。xml在我的根目录中。

但是,我在代码的第一行遇到了以下错误:

Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: net.sf.ehcache.CacheException: Could not create ClusteredInstanceFactory due to missing class. Please verify that terracotta-toolkit is in your classpath.
    at net.sf.ehcache.terracotta.TerracottaClusteredInstanceHelper.newClusteredInstanceFactory(TerracottaClusteredInstanceHelper.java:187)
    at net.sf.ehcache.terracotta.TerracottaClient.createNewClusteredInstanceFactory(TerracottaClient.java:169)
    at net.sf.ehcache.terracotta.TerracottaClient.createClusteredInstanceFactory(TerracottaClient.java:126)
    at net.sf.ehcache.CacheManager.doInit(CacheManager.java:442)
    at net.sf.ehcache.CacheManager.init(CacheManager.java:392)
    at net.sf.ehcache.CacheManager.<init>(CacheManager.java:291)
    at CacheMap.<clinit>(CacheMap.java:7)

知道怎么让兵马俑工作吗?

共有1个答案

谷翰飞
2023-03-14

我想你已经混合了所需的陶土罐。如果您使用maven,这里是terracotta 3.6.5版(与JDK5兼容的最后一个版本)的依赖项:

<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache-core-ee</artifactId>
    <version>2.5.6</version>
</dependency>
<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache-terracotta-ee</artifactId>
    <version>2.5.6</version>
</dependency>
<dependency>
    <groupId>org.terracotta</groupId>
    <artifactId>terracotta-toolkit-1.5-runtime-ee</artifactId>
    <version>4.5.0</version>
</dependency>

另外,不要忘记指向terracotta的maven存储库下载所需的JAR:

<repository>
    <id>terracotta-repository</id>
    <url>http://www.terracotta.org/download/reflector/releases</url>
    <releases>
        <enabled>true</enabled>
    </releases>
</repository>

如果您没有使用maven,那么您的类路径中应该有以下jar:

  • ehcache-core-ee-2.5.6.jar
  • ehcache-terracotta-ee-2.5.6.jar
  • terracotta-toolkit-1.5-runtime-ee-4.5.0.jar
 类似资料:
  • 问题内容: 请有人帮我解决这个问题,我有一个Ubuntu服务器(仅终端机),我下载了android SDK,我安装了java,在/ tools中尝试运行./android时遇到错误,缺少平台工具。那么,由于某些原因,我如何从终端安装平台工具,却无法在任何地方找到此信息。 我发现的每个资源都假设我有一个GUI而不是终端,甚至是ubuntu的页面-https: //help.ubuntu.com/co

  • 我有一个运行Hibernate4.1.7的应用程序,并且正在使用ehcache作为2级缓存。我知道从冬眠4开始,我需要使用与冬眠捆绑在一起的ehcache罐子,但这些罐子已经很老了。 当前最新版本的ehcache是2.6.3,但hibernate 4.1.7附带的版本是2.4.3。问题是hibernate没有与EhcacheTerracotta jar捆绑在一起,我的Terracott服务器也与E

  • 我有最新的STS4。我使用安装的java-1.8 JDK未嵌入作为执行环境。我的项目运行良好,没有任何问题。 然而,当我启动STS应用程序时,我会弹出一个窗口,上面写着“Missing tools.jar” 我已经尝试过: 将指向不同的JDK 在文件中添加了args。 但我无法摆脱这个弹出窗口。

  • 我正在尝试使用他们的登录工具包从我的应用程序登录Snapchat。 此代码(我更改了clientId): 生成此url:https://accounts.snapchat.com/accounts/oauth2/auth?client_id=45fad898-162e-48e0-8e4e-135adbc42716 返回此错误:{“错误”:“无效的请求”,“错误描述”:“缺少PKCE参数”。} 注:

  • 我在terracotta中使用ehcache,我想知道在这样的上下文中属性maxElementsOnDisk的含义是什么。 这是否意味着赤陶层上允许的最大元素数? 如果不是,控制塔拉科塔图层上允许的元素数量的属性是什么? 如果我理解正确,maxEntriesLocalHeap表示本地堆层上允许的条目数,它可以溢出到可以溢出到磁盘的兵马俑层(如果我错了,请纠正我),但我不确定控制每个元素的元素的名称

  • 下面是完整的输出:-