Классы не могут быть разрешены в CRXDE eclipse

Я новичок в 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 все нормально.

Кто-нибудь знает, как решить эту проблему? Заранее спасибо.

-Дональд


person Donald Zhao    schedule 28.01.2015    source источник


Ответы (1)


Во-первых, вам нужно проверить, доступны ли банки в виде зависимостей внутри вашей папки .m2, если вы используете maven. Если нет, добавьте зависимости внутри pom.xml. Чтобы проверить правильную версию зависимости, используйте ссылку ниже:

   localhost:4502/system/console/depfinder

И укажите имя пакета / класса, например org.apache.sling.api.SlingHttpServletRequest. Затем перестройте свой проект с помощью mvn clean ... Возможно, это решит вашу проблему для классов пакетов.

person AEM Explorer    schedule 28.01.2015
comment
Спасибо, чувак, и мне очень жаль, что я не ответил на это раньше. Я попробовал depfinder и добавил недостающие зависимости в проект, и он сработал, но та же проблема возникает при следующем открытии проекта. Я также пробовал maven, но, к сожалению, похоже, что у меня проблема с подключением, из-за которой mvn clean не работает. Я найду прокси и попробую еще раз через некоторое время. Еще раз спасибо за помощь. Действительно оценил это. - person Donald Zhao; 08.02.2015