在CRXDE eclipse中无法解析类

时间:2015-01-28 10:37:08

标签: java eclipse jsp cq5 crx

我是CRXDE的新手,所以请原谅我这是一个愚蠢的问题。

CRXDE eclipse中报告的错误表明某些类缺失或无法解决。请参阅下面的代码(错误消息已添加为评论):

在libs / wcm / core / components / designer / designer.css.java

import com.day.text.Text; //The import com.day.text cannot be resolved
import org.apache.sling.api.SlingHttpServletRequest;//The import org.apache.sling.api.SlingHttpServletRequest cannot be resolved
import org.apache.sling.api.SlingHttpServletResponse;//The import org.apache.sling.api.SlingHttpServletResponse cannot be resolved
import org.apache.sling.api.resource.Resource;//The import org.apache.sling.api.resource.Resource cannot be resolved
import org.apache.sling.api.servlets.SlingSafeMethodsServlet;//The import org.apache.sling.api.servlets cannot be resolved
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Renders the computed css styles
 */
public class designer_css extends SlingSafeMethodsServlet {//The public type designer_css must be defined in its own file ; SlingSafeMethodsServlet cannot be resolved to a type

    /**
     * default logger
     */
    private static final Logger log = LoggerFactory.getLogger(designer_css.class);

    protected void doGet(SlingHttpServletRequest req, SlingHttpServletResponse resp) //SlingHttpServletRequest cannot be resolved to a type; SlingHttpServletResponse cannot be resolved to a type
            throws ServletException, IOException {
        resp.setContentType("text/css");
        resp.setCharacterEncoding("utf-8");

这也发生在jsp文件中,例如: 在libs / cq / core / components / login / login.jsp

<%@page session="false"
        contentType="text/html; charset=utf-8"
        import="org.apache.sling.api.resource.Resource, //The import org.apache.sling.api cannot be resolved
                org.apache.commons.lang.StringUtils,//The import org.apache.commons.lang cannot be resolved
                com.day.cq.i18n.I18n"%><%
%><%@taglib prefix="cq" uri="http://www.day.com/taglibs/cq/1.0" %><%
%><cq:defineObjects /><%!

private String getOverlayCssPath(Resource resource, String fileName) {
    String path = resource.getPath() + fileName;
    // snip off 1. segment
    path = path.substring(path.indexOf("/", 1)+1);
    Resource res = resource.getResourceResolver().getResource(path);
    if (res != null) {
        return res.getPath();
    } else {
        return path;
    }
}

我不确定哪些jar文件应包含在这些丢失的软件包中以及我可以在哪里找到它们。

CRXDE Lite中的一切都很好。

有谁知道如何解决此问题?提前谢谢。

-Donald

1 个答案:

答案 0 :(得分:1)

首先,您需要检查jar .m2文件夹中是否有依赖形式的jar,如果您使用的是maven。如果没有,请在pom.xml中添加依赖项。要在链接下面检查依赖关系的正确版本:

   localhost:4502/system/console/depfinder

并提及包/类名称,例如org.apache.sling.api.SlingHttpServletRequest。然后用mvn clean重建你的项目......这可能会解决你对bundle类的问题。