[ 
https://issues.apache.org/jira/browse/WICKET-6855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17242474#comment-17242474
 ] 

Matt Pavlovich commented on WICKET-6855:
----------------------------------------

1. Our product is built on top of Wicket
2. The problems arise with transitive dependencies. When we want to build a 
Page that works with another Java framework/API/service the depends on a 
different version of a transitive Wicket dependency we have an unsolvable jar 
wiring problem. 
3. The wicket-api.jar would allow us to build pages and components that work 
together across classloaders and isolate dependency conflicts.

For example:
wicket-request depends on wicket-util

wicket-util has these dependencies:
  commons-fileupload/commons-fileupload
  commons-io/commons-io
  org.apache.commons/commons-collections4

wicket-core depends on wicket-request, wicket-util
  com.github.openjson/openjson
  org.danekja/jdk-serializable-functional


> Request: Provide separate wicket-api.jar for interfaces
> -------------------------------------------------------
>
>                 Key: WICKET-6855
>                 URL: https://issues.apache.org/jira/browse/WICKET-6855
>             Project: Wicket
>          Issue Type: Improvement
>            Reporter: Matt Pavlovich
>            Priority: Minor
>
> Providing a separate wicket-api.jar would provide benefit for web application 
> developers and web frameworks that are built on top of wicket by providing a 
> clean separation of concerns.
> # All public interfaces into a org.apache.wicket.api.* package (IPage, 
> IPanel, etc)
> # All internal interfaces into a org.apache.wicket.spi.* package (page 
> stores, serializers, etc)
> This allows for a single-jar dependency for web framework and extension 
> layers.
> Similar patterns followed in other open source projects:
> apache log4j2-api
> apache camel-api
> etc..



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to