Fantastic Java contracts - and where to define them?

Session details
Session Type: 
Experience level: 

Creating objects in Java using `new` keyword was a no brainer for many years! Then IoC / DI questioned the approach and component containers changed the way we think about it!

Managing dependencies between artifacts is yet another topic we still tend to think we have sorted out. Maven central has become the de facto standard artifact repository. Yet it's far from perfect as it is still developer's responsibility to know and configure proper dependencies. This easily becomes nightmare with transitive and provided dependencies. So may be it's time to challenge that approach too? What if we move from hardcoded artifacts to artifact discovery based on well defined contracts?

This talk will demonstrate how that can be done today using OSGi Requirements and Capabilities specification in combination with existing Maven plugins. It will present a PoC for Maven extension that makes it very easy to discover artifacts and assemble applications (both standalone and deployed in containers). It will also point out the issues and draft a potential roadmap to fully automated, contract based dependency management!

Schedule info
Session Time Slot(s): 
Wednesday, October 25, 2017 - 14:00 to 14:35
Neil Bartlett's picture

The link you have posted returns "This uploaded file has been marked private by the author"

Public comment
Milen Dyankov (Liferay)'s picture

Oh, I'm sorry. It seems SlideShare does some weird things again. I updated the link to the new home of my slides (

Public comment

Our Sponsors

For information about becoming a sponsor, please visit the EclipseCon Europe 2017 sponsor prospectus page.

Elite Dual ECE/OSGi CE



Club ECE Sponsor

IoT Theme Day

Project Quality Day

Smart Home Day


EclipseCon Support Other Events

Our Other Events

Eclipse events are hosted all over the world!

  • EclipseCon Europe 2018