2013-03-26 2 views
0

Я новичок в EHCache и попытался использовать его в качестве нашего кеш-сервера. Я написал код, пытаясь начать:Отсутствие класса Terracotta toolkit предотвращает запуск EHCache

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

В пути к классам, я включил терракотовый-инструментарий-1.6-5.2.0.jar, терракотовый-инструментарий-1,6-выполнения-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) 

Любые идеи, как получить Терракотовая рабочего?

+0

Я уже включены терракоты-инструментарий-1.6-выполнения-5.0.0. Но исключение: «Пожалуйста, убедитесь, что terracotta-toolkit находится в вашем пути к классу». –

ответ

0

Я думаю, что у вас есть смешанные необходимые терракотовые банки. Если вы используете maven, здесь есть зависимости от терракотовой веры. 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> 

Также не забудьте указать в хранилище Maven терракотовыми, чтобы загрузить необходимые банки:

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

Если вы не используете Maven, то вы должны иметь на своем пути к классам следующие банки:

  • EHCache-ядро-е-е-2.5.6.jar
  • EHCache-терракотовый-е-е-2.5.6.jar
  • терракотовый-инструментарий-1,5-среда-е-е-4.5.0.jar
+0

Спасибо! Решено! –

Смежные вопросы