de.hybris.eventtracking.model.events.AbstractTrackingEvent无法解析为类型

时间:2016-03-15 00:33:14

标签: eclipse hybris

我刚刚完成配置hybris并尝试设置eclipse项目。根据wiki.hybris中的指南,我将所有扩展都导入到eclipse项目中。当我尝试构建和清理时,我得到超过3000个编译器错误。其中一个错误是AbstractTrackingEvent类无法解析为某个类型。我在项目文件夹中查找了特定的类。我找不到 de.hybris.eventtracking.model 下的事件文件夹,这就是问题的原因。

我在导入项目时遗漏了什么?我的eclipse项目中有很多这样的问题。请让我知道如何解决它。我附上了截图供参考。

注意:我使用的是hybris-commerce-suite 5.7.0.8

enter image description here

根据要求,我正在添加源代码。

package de.hybris.eventtracking.services.populators;

import de.hybris.eventtracking.model.events.AbstractTrackingEvent;
import de.hybris.eventtracking.services.constants.TrackingEventJsonFields;
import de.hybris.platform.servicelayer.dto.converter.ConversionException;

import java.io.IOException;
import java.util.Map;

import org.apache.commons.lang.StringUtils;

import com.fasterxml.jackson.databind.ObjectMapper;

/**
 * @author stevo.slavic
 *
 */
public abstract class AbstractTrackingEventGenericPopulator implements
        GenericPopulator<Map<String, Object>, AbstractTrackingEvent>
{
private final ObjectMapper mapper;

public AbstractTrackingEventGenericPopulator(final ObjectMapper mapper)
{
    this.mapper = mapper;
}

public ObjectMapper getMapper()
{
    return mapper;
}

protected Map<String, Object> getPageScopedCvar(final Map<String, Object> trackingEventData)
{
    final String cvar = (String) trackingEventData.get(TrackingEventJsonFields.COMMON_CVAR_PAGE.getKey());
    Map<String, Object> customVariablesPageScoped = null;
    if (StringUtils.isNotBlank(cvar))
    {
        try
        {
            customVariablesPageScoped = getMapper().readValue(cvar, Map.class);
        }
        catch (final IOException e)
        {
            throw new ConversionException("Error extracting custom page scoped variables from: " + cvar, e);
        }
    }
    return customVariablesPageScoped;
}
}

2 个答案:

答案 0 :(得分:1)

“根据wiki.hybris的指导原则,我将所有扩展都导入了eclipse项目。”

我不认为指南会告诉你这个。基本上,您希望加载的项目与localextensions.xml及其依赖项中定义的项目相同。你无法看到它们的原因是它们没有建成。

确保您已成功运行'ant build',刷新平台项目,从工作区中删除项目不需要的任何扩展,并清理和构建eclipse。

答案 1 :(得分:0)

通过检查各个extensioninfo.xml文件,确保您已在每个项目中提供了项目依赖项,如下图所示。

有时候依赖的库也没有正确导入检查。

Project Dependencies

Required Libraries