Калитка: ModalWindow и ClassNotFound: CompressedResourceReference

Каждый раз, когда я пытаюсь реализовать модальное окно, я получаю:

java.lang.ClassNotFoundException: org.apache.wicket.request.resource.CompressedResourceReference

Ни в одной из моих библиотек нет этого элемента. Моя зависимость:

    <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-core</artifactId>
        <version>1.5.3</version>
    </dependency>

    <!-- DatePicker -->
    <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-datetime</artifactId>
        <version>1.5.2</version>
    </dependency>


<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-extensions</artifactId>
<version>1.5.3</version>
 </dependency>

€ Вот как я реализовал свое модальное окно:

 import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.util.time.Duration;



public class ModalPanel1 extends WebPage
{
 public ModalPanel1(String id)
{
final ModalWindow modalWindow = new ModalWindow("modal");

modalWindow.setTitle("Popup");
modalWindow.setInitialWidth(400);
modalWindow.setInitialHeight(400);
modalWindow.setResizable(true);
modalWindow.setContent(new AbstractModalClosePanel(modalWindow)
{
  public void onClick(AjaxRequestTarget target)
  {
    modalWindow.close(target);
  }
});
add(modalWindow);

add(new AjaxLink<Void>("open")
{
  @Override
  public void onClick(AjaxRequestTarget target)
  {
    modalWindow.show(target);
  }
});

add(new AbstractAjaxTimerBehavior(Duration.seconds(2))
{
  @Override
  protected void onTimer(AjaxRequestTarget target)
  {
    modalWindow.show(target);
    stop();
  }
});
 }
 }

а также

 import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.markup.html.panel.Panel;


 public abstract class AbstractModalClosePanel extends Panel
 {
   public AbstractModalClosePanel(ModalWindow modalWindow)
   {
super(modalWindow.getContentId());



 }

Старого импорта нет.

Полная трассировка стека

    <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-core</artifactId>
        <version>1.5.3</version>
    </dependency>

    <!-- DatePicker -->
    <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-datetime</artifactId>
        <version>1.5.2</version>
    </dependency>


<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-extensions</artifactId>
<version>1.5.3</version>
 </dependency>
был удален в Wicket 1.5 вместе с другими элементами сжатия.


person user1090145    schedule 20.01.2012    source источник


Ответы (1)


Если у вас есть ссылка на это в вашем собственном коде, вы должны просто использовать обычную ResourceReference или другую несжатую версию.

В более ранних версиях он использовался в ModalWindow, но его нет по крайней мере в 1.5.3, поэтому

должно было сработать.

<dependency>
    <groupId>org.apache.wicket</groupId>
    <artifactId>wicket-extensions</artifactId>
    <version>1.5.3</version>
</dependency>

Я бы попробовал это еще раз и убедился, что у вас чистое обновление, чтобы не было ссылки на старый код ModalWindow.

Вполне возможно, что в кандидате на выпуск все еще были ссылки, поскольку я думаю, что он все еще был в ядре калитки в некоторых кандидатах на выпуск.

Вы также можете просмотреть больше трассировки стека, чтобы сузить круг ссылок на этот класс.

Я отредактировал свой вопрос. Там вы можете увидеть, что у меня нет старого импорта.

person Don Roby    schedule 20.01.2012
comment
Полный стек: org.apache.wicket.WicketRuntimeException: невозможно создать экземпляр страницы с помощью конструктора «public com.onespark.wicket.components.tasks.Tasks()». Может быть, его не существует, может быть, он не виден (общедоступен). на org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:196) на org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:68) на org.apache.wicket.session.DefaultPageFactory.newPage (DefaultPageFactory.java:47) в org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103) в org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264) в org.apache. wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165) в org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78) в org.apache.wicket.request.handler. render.WebPageRenderer.renderPage(WebPageRenderer.java:105) в org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224) в org.apache.wicket.request.handler.RenderPageRequestHandler.respond( RenderPageRequestHandler.java:167) в org.apache.wicket.request.cycle.RequestCycle$Handl erExecutor.respond(RequestCycle.java:750) в org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) в org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:252) в org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209) в org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280) в org.apache.wicket.protocol .http.WicketFilter.processRequest(WicketFilter.java:162)java.lang.reflect.InvocationTargetException в sun.reflect.NativeConstructorAccessorImpl.newInstance0(собственный метод) в sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) в java. lang.reflect.Constructor.newInstance(Constructor.java:513) в org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:177) в org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java: 68) на org.apache.wicket.session.Defau ltPageFactory.newPage(DefaultPageFactory.java:47) в org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103) в org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264) в org. .apache.wicket.request.handler. PageProvider.getPageInstance(PageProvider.java:165) в org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78) в org.apache.wicket.request.handler.render.WebPageRenderer.renderPage( WebPageRenderer.java:105) по адресу org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224) по адресу org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167) в org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:750) в org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) в org.apache.wicket.request .cycle.RequestCycle.execute(RequestCycle.java:252) в org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209) в org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle .java:280) в org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162 )java.lang.NoClassDefFoundError: org/apache/wicket/request/resource/CompressedResourceReference на com.onespark.wicket.components.tasks.ModalPanel1.(ModalPanel1.java:16) на com.onespark.wicket.components.tasks.Tasks .(Tasks.java:14) в java.lang.reflect.Constructor.newInstance(Constructor.java:513) в org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:177) в org.apache.wicket .session.DefaultPageFactory.newPage(DefaultPageFactory.java:68) в org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:47) в org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103) в org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264) в org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165) в org.apache.wicket.request. handler.render.PageRenderer.getPage(PageRenderer.java:78) в org.apache.wicket.request.handler.render.We bPageRenderer.renderPage(WebPageRenderer.java:105) в org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224) в org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler. java:167) в org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:750) в org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) в org.apache .цикл.запроса.калитки. RequestCycle.execute(RequestCycle.java:252) в org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209) в org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java: 280) на org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162) - person user1090145; 20.01.2012