SlideShare a Scribd company logo
1 of 73
Download to read offline
Maven, Eclipse and
OSGi working
together
Carlos Sanchez
March 17, 2008
About me
Member of Apache Maven PMC
Committer at the Eclipse Foundation
Director at Exist Global
Contents
1.Maven in the Eclipse IDE
2.Maven to OSGi
3.Eclipse plugins to Maven
4.Maven building Eclipse plugins
5.Looking into the future
6.Conclusions
Section 1
Maven in the Eclipse IDE
Maven in the IDE
Q4E
[Q for Eclipse]
Proposed to the Eclipse Foundation as
Eclipse IAM
[Eclipse Integration for Apache Maven]
Maven in the IDE
Other alternatives
m2eclipse
Maven Eclipse plugin
[eclipse:eclipse]
Q4E Features
running Maven goals from the IDE
dependency managing using the POM
& automatic download of dependencies
Eclipse classpath synchronized with POM
Q4E Features
direct import of Maven 2 projects
wizard for creation of new projects using
the archetype mechanism
Q4E Features
modular approach to improve reusability
by other Eclipse projects
ability to import parent projects (pom
projects)
ability to cancel Maven builds
Q4E dependency graphing
Q4E dependency analysis
Roadmap
WTP support
Integration with other plugins
Scala, Candy for Appfuse, SpringIDE,...
UI tooling to work around Maven
limitations (common complains)
Excluding a dependency from the graphs will add all
necessary <exclusions> to the pom
Q4E as example
All examples in next sections are
real-world examples
from Q4E development
https://q4e.googlecode.com/svn/branches/mavenbuild
Section 2
Maven to OSGi
Tools
Bleeding edge!!!
Apache Maven 2.0.9+
(includes bug fixes MNG-3396 and MNG-3410)
Apache Felix Bundle Plugin 1.4.1+
Maven PDE plugin 1.0+
Maven Eclipse plugin 2.5+
Converting 3rd
party Maven
projects to OSGi
Create a new Maven project
Set <packaging> to bundle
Add maven-bundle-plugin
Add dependencies to the 3rd
party
projects
Felix Maven Bundle plugin
Maven philosophy: will use defaults for
most of the configuration
Manifest still completely customizable
http://felix.apache.org/site/maven-bundle-plugin-bnd.html
Felix Maven Bundle plugin
will scan your classes for
exported/imported packages
will not use Require-Bundle
Felix Maven Bundle plugin
By default ${groupId}.${artifactId}
packages get included, use Export-
Packages to customize
Export-Packages exports AND includes
the classes in the bundle
<_exportcontents> only exports
Felix Maven Bundle plugin
inline=true to avoid embedding jars
inside the bundle
Needs to run after compilation
Converting 3rd
party Maven
projects to OSGi
<packaging>bundle</packaging>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<!-- <version>1.4.0</version> defined in parent plugin management -->
<extensions>true</extensions>
<configuration>
<instructions>
<Embed-Dependency>*;scope=compile|runtime;inline=true</Embed-Dependency>
<Embed-Transitive>false</Embed-Transitive>
</instructions>
</configuration>
</plugin>
</plugins>
Converting 3rd
party Maven
projects to OSGi
Example
plugins/thirdparty/org.apache.maven.shared.dependency.tree
repackages
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-dependency-tree</artifactId>
<version>1.1</version>
</dependency>
as OSGi bundle
Dependency handling
Customize the dependencies included
by using
<exclusions>
<_exportcontents>
<Export-Package>
<Embed-Dependency>
<Embed-Transitive>
Dependency handling
Customize the dependencies imported
and the versions
by using
Import-Package
Dependency handling:
example
plugins/maven/embedder/pom.xml
Includes all dependencies in a lib folder
inside the bundle
Some dependencies are exchanged for
prebuild OSGi bundles and depended
upon
Exports a few org.apache.maven and
org.codehaus.plexus packages only
Example
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-embedder</artifactId>
<version>2.1-SNAPSHOT</version>
<exclusions>
<!-- we'll use eclipse bundles for these -->
<exclusion>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
</exclusion>
<exclusion>
<groupId>aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</exclusion>
[...]
</exclusions>
</dependency>
[...]
<!-- Eclipse bundles dependencies -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>runtime</artifactId>
</dependency>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
</dependency>
Example: Bundle plugin config
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<_exportcontents>
org.apache.maven.embedder.*;-noimport:=true,
org.apache.maven.*;-noimport:=true,
org.codehaus.plexus.util.xml.*;-noimport:=true,
!org.codehaus.plexus.util.*,
org.codehaus.plexus.*;-noimport:=true,
</_exportcontents>
<Export-Package></Export-Package>
<Import-Package>
!junit.*,
!sun.misc.*,
org.apache.commons.cli;version="[1.0.0,2.0.0)",
*
</Import-Package>
<!-- we can't inline as the different plexus META-INF/plexus/components.xml
will overwrite each other -->
<Embed-Dependency>
*;scope=compile|runtime;inline=false;artifactId=!cli|lang|runtime|tidy|jsch|
commons-logging|jdom
</Embed-Dependency>
<Embed-Directory>lib</Embed-Directory>
<Embed-Transitive>true</Embed-Transitive>
<Eclipse-BuddyPolicy>registered</Eclipse-BuddyPolicy>
<Include-Resource>LICENSE.txt,NOTICE.txt</Include-Resource>
</instructions>
</configuration>
</plugin>
Converting your Maven
projects to OSGi
Felix Bundle Plugin again
Generate the OSGi manifest
No need to change packaging
Same configuration options apply
Configure the jar plugin to pick up the
generated manifest
Converting your Maven
projects to OSGi
Using Apache Felix maven-bundle-plugin to generate the
OSGi manifest
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>
${project.build.outputDirectory}/META-INF/MANIFEST.MF
</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
Caveats
Version ranges have differnet meanings
in Maven and OSGi
Bundles with nested jars wont work
Private packages are visible
Version ranges in OSGi
x.y.z.q > x.y.z
org.eclipse.core.filebuffers
3.3.0 < 3.3.0-v20070606-0010
3.3.0-v20070606-0010 is in [3.3,4.0)
Version ranges in Maven
x.y.z.q < x.y.z
x.y.z-q < x.y.z
org.eclipse.core.filebuffers
3.3.0-v20070606-0010 < 3.3.0
3.3.0-v20070606-0010 is not in [3.3,4.0)
Version ranges in Maven
History
1.0.0-SNAPSHOT = work in progress towards 1.0.0
1.0.0-SNAPSHOT becomes 1.0.0-20080301.101201-1
when deploying to the repository
1.0.0-SNAPSHOT < 1.0.0
then
1.0.0-20080301.1012 < 1.0.0
Version ranges in Maven
Solving the problem, from Maven 2.0.9!
use <dependencyManagement>
to explicitly set the versions you want
Do it in the parent POM and it's a one
time setup
Caveats: version ranges
<dependencyManagement>
<dependencies>
<!-- required for pde-maven-plugin due to problems with
Maven and Eclipse version ranges -->
<dependency>
<groupId>org.eclipse</groupId>
<artifactId>osgi</artifactId>
<version>3.3.0-v20070530</version>
</dependency>
<dependency>
<groupId>org.eclipse.ant</groupId>
<artifactId>core</artifactId>
<version>3.1.200-v20070522</version>
</dependency>
<dependency>
<groupId>org.eclipse</groupId>
<artifactId>text</artifactId>
<version>3.3.0-v20070606-0010</version>
</dependency>
<dependency>
<groupId>org.eclipse.core</groupId>
<artifactId>commands</artifactId>
<version>3.3.0-I20070605-0010</version>
</dependency>
<dependency>
<groupId>org.eclipse.core</groupId>
<artifactId>filebuffers</artifactId>
<version>3.3.0-v20070606-0010</version>
</dependency>
[...]
Caveats: Nested jars in
bundles
The Sun compiler wont recognize them
Maven provides a pluggable compiler
infrastructure
Unfortunately the Eclipse compiler
implementation is not up to date
http://maven.apache.org/plugins/maven-compiler-plugin/non-javac-compilers.html
Caveats: private packages are
visible
Same problem as with nested jars
The Sun compiler doesn't honor OSGi
manifests
Section 3
Eclipse plugins to Maven
Converting Eclipse plugins to
Maven
Maven Eclipse plugin 2.5+
eclipse:to-maven
Eclipse to Maven
Automatic process, bidirectional
Bundle-SymbolicName=x.y.z
groupId=x.y / artifactId=z
Bundle-Version=x.y.z.q
version=x.y.z-q
from OSGi
manifest
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Created-By: 1.4.2 (IBM Corporation)
Bundle-Name: %PLUGIN_NAME
Bundle-Vendor: %PLUGIN_PROVIDER
Ant-Version: Apache Ant 1.7.0
Export-Package: org.eclipse.core.internal.net;x-internal:=true,org.ecl
ipse.core.net.proxy
Bundle-Version: 1.0.0.I20070531
Bundle-Activator: org.eclipse.core.internal.net.Activator
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)
"
Eclipse-LazyStart: true
Bundle-SymbolicName: org.eclipse.core.net;singleton:=true
Bundle-RequiredExecutionEnvironment: J2SE-1.4,CDC-1.0/Foundation-1.0,J
2SE-1.3
Bundle-Localization: plugin
plugin.properties
PLUGIN_NAME=Internet Connection Management
PLUGIN_PROVIDER=Eclipse.org
to Maven
POM
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.core</groupId>
<artifactId>net</artifactId>
<name>Internet Connection Management</name>
<version>1.0.0-I20070531</version>
<licenses>
<license>
<name>Eclipse Public License - v 1.0</name>
<url>http://www.eclipse.org/org/documents/epl-v10.html</url>
</license>
</licenses>
<dependencies>
<dependency>
<groupId>org.eclipse.core</groupId>
<artifactId>runtime</artifactId>
<version>[3.3.0,4.0.0)</version>
</dependency>
</dependencies>
</project>
Eclipse to Maven: Caveats
Handling fragments
anything special to do?
Short names for artifactIds
not a problem in the repository
in a flat folder the Maven plugins should
automatically rename to
groupId.artifactId
Section 4
Maven building Eclipse plugins
Maven building Eclipse plugins
OSGi bundles
+
extra manifest values
(configurable in the Felix Bundle Plugin)
+
Features
+
Update sites
Integrating with PDE
Felix Bundle Plugin
generate the manifest in
${basedir}/META-INF
Jar plugin
use ${basedir}/META-INF as manifest
source
Integrating with PDE
Dependency plugin
copy dependencies to local folder
binaries to ${basedir}/lib
sources to ${basedir}/src
Need to be added to Eclipse classpath by
hand
Integrating with PDE example
plugins/pom.xml
plugins/maven/embedder/pom.xml
Profile eclipse-dev
mvn -Peclipse-dev package
plugins/pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${libdir}</outputDirectory>
</configuration>
</execution>
<execution>
<id>copy-src-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<classifier>sources</classifier>
<failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>
<outputDirectory>${srcdir}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
plugins/pom.xml
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<manifestLocation>${basedir}/META-INF</manifestLocation>
<instructions>
<Embed-Dependency>*;scope=compile|runtime;inline=true</Embed-Dependency>
<Embed-Transitive>false</Embed-Transitive>
</instructions>
</configuration>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
Maven building features
Add pde-maven-plugin, enable extensions
Set packaging to eclipse-feature
license must be present
Generates feature.xml and
feature.properties
Integrates with PDE by generating the
files in the root folder
Feature example
Add a dependency to previously
generated bundle
org.apache.maven.embedder
Exclude dependencies that are already
packaged in the bundle
Feature example
features/pom.xml
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>pde-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>
[...]
<profiles>
<profile>
<id>eclipse-dev</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>pde-maven-plugin</artifactId>
<configuration>
<outputDirectory>${basedir}</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Feature example
features/org.apache.maven.feature
<packaging>eclipse-feature</packaging>
<name>Apache Maven</name>
<description>Eclipse Feature for Apache Maven</description>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<organization>
<name>The Apache Software Foundation</name>
<url>http://www.apache.org/</url>
</organization>
<url>http://www.apache.org/</url>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>embedder</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-embedder</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
Feature example: result
<feature
id="org.apache.maven.feature"
label="%featureName"
version="2.1.0.632696"
provider-name="%providerName">
<description>
%description
</description>
<copyright>
%copyright
</copyright>
<license url="%licenseURL">
%license
</license>
<plugin id="org.apache.maven.embedder" download-size="2262" install-size="2262"
version="2.1.0.632696" unpack="false"/>
<plugin id="org.apache.commons.cli" download-size="31" install-size="31"
version="1.0.0.v200709131616" unpack="false"/>
<plugin id="org.apache.commons.lang" download-size="206" install-size="206"
version="2.1.0.v200709131643" unpack="false"/>
<plugin id="org.aspectj.runtime" download-size="95" install-size="95"
version="1.5.4.200705211336" unpack="false"/>
[...]
Feature example:
feature.properties
#
#Tue Mar 04 11:35:43 PST 2008
featureName=Apache Maven
copyright=Copyright DevZuz http://www.devzuz.org
licenseURL=http://www.eclipse.org/org/documents/epl-v10.html
license=Eclipse Public License - v 1.0
description=Eclipse Feature for Apache Maven
providerName=DevZuz
Maven building update sites
Add dependencies to the features you
want to include
dependency type is eclipse-feature
To generate the site.xml and copy the
features
Add pde-maven-plugin
Add the update-site goal to the execution
Maven building update sites
To copy all the bundles
Add Felix bundle plugin
Add the bundleall goal to the execution
it will process all dependencies,
dependencies' dependencies and so on
Maven building update sites
Set ignoreMissingArtifacts to true
From 1.4.1 you can limit the depth,
depth=2 will do the trick
For integration with PDE, generate the
files in the root dir
Maven building update sites
Example
updatesite-dev/pom.xml
Has two features and its bundles
org.apache.maven.feature
org.devzuz.q.feature.thirdparty
Update Site example
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>pde-maven-plugin</artifactId>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>update-site</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>bundleall</goal>
</goals>
</execution>
</executions>
<configuration>
<depth>2</depth>
<ignoreMissingArtifacts>true</ignoreMissingArtifacts>
<outputDirectory>${project.build.directory}/site/plugins</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
Update Site example
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>feature</artifactId>
<version>2.1.0-632695</version>
<type>eclipse-feature</type>
</dependency>
<dependency>
<groupId>org.devzuz.q.feature</groupId>
<artifactId>thirdparty</artifactId>
<version>0.5.0.200803040914</version>
<type>eclipse-feature</type>
</dependency>
</dependencies>
Update Site caveats
Features must have a license, make sure
you have one in your feature pom.xml
Eclipse update site manager will not give
any detail if there are errors in features
or update site
Section 5
Looking into the future
Equinox provisioning [p2]
Forget about features and update sites
Installable Units
new metadata format
external to he bundle
looks like a Maven POM? wait...
Artifact Repository
For OSGi bundles
sounds familiar?
It could be a Maven repository
When did you say?
Initial implementation in Eclipse 3.4
More to come in 4.0
Conclusions
Not ready for production
but
it will never be if people don't try it
Although it can already alleviate some
pain
Conclusions
Make your Maven projects be OSGi
bundles at the source if you are going to
need them later
Start generating manifests and
committing them to work with both
Maven and PDE
Conclusions
All the plugin versions used in the
examples to be released soon
Homework
If you have free time
and want to contribute...
Eclipse compiler
You can configure Maven to use the
Eclipse compiler and take full advantage
of its OSGi support
http://maven.apache.org/plugins/maven-compiler-plugin/non-javac-compilers.html
The code
http://svn.codehaus.org/plexus/plexus-components/trunk/plexus-compiler/plexus-compilers/plexus-compiler-eclipse/
Issue tracker
http://jira.codehaus.org/browse/PLXCOMP
Thanks
carlos@apache.org
http://www.carlossanchez.eu

More Related Content

What's hot

Apache Maven supports all Java (JokerConf 2018)
Apache Maven supports all Java (JokerConf 2018)Apache Maven supports all Java (JokerConf 2018)
Apache Maven supports all Java (JokerConf 2018)Robert Scholte
Ā 
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010Atlassian
Ā 
An Introduction to Maven Part 1
An Introduction to Maven Part 1An Introduction to Maven Part 1
An Introduction to Maven Part 1MD Sayem Ahmed
Ā 
Introduction maven3 and gwt2.5 rc2 - Lesson 01
Introduction maven3 and gwt2.5 rc2 - Lesson 01Introduction maven3 and gwt2.5 rc2 - Lesson 01
Introduction maven3 and gwt2.5 rc2 - Lesson 01rhemsolutions
Ā 
Maven 3 Overview
Maven 3  OverviewMaven 3  Overview
Maven 3 OverviewMike Ensor
Ā 
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-JupiterToolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-JupiterBoni GarcĆ­a
Ā 
LausanneJUG 2017 - Jigsaw est prĆŖt Ć  tuer le classpath
LausanneJUG 2017 - Jigsaw est prĆŖt Ć  tuer le classpathLausanneJUG 2017 - Jigsaw est prĆŖt Ć  tuer le classpath
LausanneJUG 2017 - Jigsaw est prĆŖt Ć  tuer le classpathAlexis Hassler
Ā 
Maven Introduction
Maven IntroductionMaven Introduction
Maven IntroductionSandeep Chawla
Ā 
Java Builds with Maven and Ant
Java Builds with Maven and AntJava Builds with Maven and Ant
Java Builds with Maven and AntDavid Noble
Ā 
Maven
MavenMaven
Mavenfeng lee
Ā 
Development Tools - Maven
Development Tools - MavenDevelopment Tools - Maven
Development Tools - MavenBert Koorengevel
Ā 
LyonJUG : Comment Jigsaw est prĆŖt Ć  tuer le classpath
LyonJUG : Comment Jigsaw est prĆŖt Ć  tuer le classpathLyonJUG : Comment Jigsaw est prĆŖt Ć  tuer le classpath
LyonJUG : Comment Jigsaw est prĆŖt Ć  tuer le classpathAlexis Hassler
Ā 
JSF, Facelets, Spring-JSF & Maven
JSF, Facelets, Spring-JSF & MavenJSF, Facelets, Spring-JSF & Maven
JSF, Facelets, Spring-JSF & MavenRaghavan Mohan
Ā 
Maven tutorial
Maven tutorialMaven tutorial
Maven tutorialJames Cellini
Ā 
Developing Selenium tests with JUnit 5
Developing Selenium tests with JUnit 5Developing Selenium tests with JUnit 5
Developing Selenium tests with JUnit 5Boni GarcĆ­a
Ā 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to MavenVadym Lotar
Ā 

What's hot (20)

Apache Maven supports all Java (JokerConf 2018)
Apache Maven supports all Java (JokerConf 2018)Apache Maven supports all Java (JokerConf 2018)
Apache Maven supports all Java (JokerConf 2018)
Ā 
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
Plugins 2.0 & OSGi Gotchas - Atlassian Summit 2010
Ā 
An Introduction to Maven Part 1
An Introduction to Maven Part 1An Introduction to Maven Part 1
An Introduction to Maven Part 1
Ā 
Introduction maven3 and gwt2.5 rc2 - Lesson 01
Introduction maven3 and gwt2.5 rc2 - Lesson 01Introduction maven3 and gwt2.5 rc2 - Lesson 01
Introduction maven3 and gwt2.5 rc2 - Lesson 01
Ā 
Maven 3 Overview
Maven 3  OverviewMaven 3  Overview
Maven 3 Overview
Ā 
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-JupiterToolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Toolbox for Selenium Tests in Java: WebDriverManager and Selenium-Jupiter
Ā 
Introduction to maven
Introduction to mavenIntroduction to maven
Introduction to maven
Ā 
LausanneJUG 2017 - Jigsaw est prĆŖt Ć  tuer le classpath
LausanneJUG 2017 - Jigsaw est prĆŖt Ć  tuer le classpathLausanneJUG 2017 - Jigsaw est prĆŖt Ć  tuer le classpath
LausanneJUG 2017 - Jigsaw est prĆŖt Ć  tuer le classpath
Ā 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
Ā 
Java Builds with Maven and Ant
Java Builds with Maven and AntJava Builds with Maven and Ant
Java Builds with Maven and Ant
Ā 
Maven
MavenMaven
Maven
Ā 
Development Tools - Maven
Development Tools - MavenDevelopment Tools - Maven
Development Tools - Maven
Ā 
Maven
MavenMaven
Maven
Ā 
LyonJUG : Comment Jigsaw est prĆŖt Ć  tuer le classpath
LyonJUG : Comment Jigsaw est prĆŖt Ć  tuer le classpathLyonJUG : Comment Jigsaw est prĆŖt Ć  tuer le classpath
LyonJUG : Comment Jigsaw est prĆŖt Ć  tuer le classpath
Ā 
Build system
Build systemBuild system
Build system
Ā 
JSF, Facelets, Spring-JSF & Maven
JSF, Facelets, Spring-JSF & MavenJSF, Facelets, Spring-JSF & Maven
JSF, Facelets, Spring-JSF & Maven
Ā 
Maven tutorial
Maven tutorialMaven tutorial
Maven tutorial
Ā 
Developing Selenium tests with JUnit 5
Developing Selenium tests with JUnit 5Developing Selenium tests with JUnit 5
Developing Selenium tests with JUnit 5
Ā 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to Maven
Ā 
Maven basics
Maven basicsMaven basics
Maven basics
Ā 

Viewers also liked

SCA Group Presentation
SCA Group PresentationSCA Group Presentation
SCA Group PresentationSteve Bicknell
Ā 
Understanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitUnderstanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitPascal Rapicault
Ā 
OSGi For Eclipse Developers
OSGi For Eclipse DevelopersOSGi For Eclipse Developers
OSGi For Eclipse DevelopersChris Aniszczyk
Ā 
P2 Introduction
P2 IntroductionP2 Introduction
P2 Introductionirbull
Ā 
Do's and Do not's about p2
Do's and Do not's about p2Do's and Do not's about p2
Do's and Do not's about p2Pascal Rapicault
Ā 
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseSingle Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseRalf Sternberg
Ā 

Viewers also liked (6)

SCA Group Presentation
SCA Group PresentationSCA Group Presentation
SCA Group Presentation
Ā 
Understanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitUnderstanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profit
Ā 
OSGi For Eclipse Developers
OSGi For Eclipse DevelopersOSGi For Eclipse Developers
OSGi For Eclipse Developers
Ā 
P2 Introduction
P2 IntroductionP2 Introduction
P2 Introduction
Ā 
Do's and Do not's about p2
Do's and Do not's about p2Do's and Do not's about p2
Do's and Do not's about p2
Ā 
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code baseSingle Sourcing RAP and RCP - Desktop and web clients from a single code base
Single Sourcing RAP and RCP - Desktop and web clients from a single code base
Ā 

Similar to Maven, Eclipse and OSGi Working Together - Carlos Sanchez

Maven plugin guide using Modello Framework
Maven plugin guide using Modello FrameworkMaven plugin guide using Modello Framework
Maven plugin guide using Modello Frameworkfulvio russo
Ā 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 featuresAngel Ruiz
Ā 
Apache maven, a software project management tool
Apache maven, a software project management toolApache maven, a software project management tool
Apache maven, a software project management toolRenato Primavera
Ā 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoftvenkata20k
Ā 
Your new maven friend ā€“ the mule maven
Your new maven friend ā€“ the mule mavenYour new maven friend ā€“ the mule maven
Your new maven friend ā€“ the mule mavenSon Nguyen
Ā 
Apache Maven and Java 9 and 10 (Devoxx France 2018)
Apache Maven and Java 9 and 10 (Devoxx France 2018)Apache Maven and Java 9 and 10 (Devoxx France 2018)
Apache Maven and Java 9 and 10 (Devoxx France 2018)Robert Scholte
Ā 
Introduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS worldIntroduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS worldDmitry Bakaleinik
Ā 
MAVEN - Short documentation
MAVEN - Short documentationMAVEN - Short documentation
MAVEN - Short documentationHolasz Kati
Ā 
Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development Pei-Hsuan Hsieh
Ā 
Integrating Maven with Eclipse
Integrating Maven with EclipseIntegrating Maven with Eclipse
Integrating Maven with EclipseNikhil Bharati
Ā 
Maven 3 New Features
Maven 3 New FeaturesMaven 3 New Features
Maven 3 New FeaturesStefan Scheidt
Ā 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulMert Ƈalışkan
Ā 
Maven
MavenMaven
MavenShraddha
Ā 
Jsf, facelets, spring, hibernate, maven2
Jsf, facelets, spring, hibernate, maven2Jsf, facelets, spring, hibernate, maven2
Jsf, facelets, spring, hibernate, maven2Raghavan Mohan
Ā 
Introduction to Maven for beginners and DevOps
Introduction to Maven for beginners and DevOpsIntroduction to Maven for beginners and DevOps
Introduction to Maven for beginners and DevOpsSISTechnologies
Ā 
Maven: Mule esb plugin
Maven: Mule esb pluginMaven: Mule esb plugin
Maven: Mule esb pluginStrawhatLuffy11
Ā 

Similar to Maven, Eclipse and OSGi Working Together - Carlos Sanchez (20)

Project Apash
Project ApashProject Apash
Project Apash
Ā 
Exploring Maven SVN GIT
Exploring Maven SVN GITExploring Maven SVN GIT
Exploring Maven SVN GIT
Ā 
Maven plugin guide using Modello Framework
Maven plugin guide using Modello FrameworkMaven plugin guide using Modello Framework
Maven plugin guide using Modello Framework
Ā 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 features
Ā 
Apache maven, a software project management tool
Apache maven, a software project management toolApache maven, a software project management tool
Apache maven, a software project management tool
Ā 
Maven in mulesoft
Maven in mulesoftMaven in mulesoft
Maven in mulesoft
Ā 
A-Z_Maven.pdf
A-Z_Maven.pdfA-Z_Maven.pdf
A-Z_Maven.pdf
Ā 
Your new maven friend ā€“ the mule maven
Your new maven friend ā€“ the mule mavenYour new maven friend ā€“ the mule maven
Your new maven friend ā€“ the mule maven
Ā 
SWT Lab 1
SWT Lab 1SWT Lab 1
SWT Lab 1
Ā 
Apache Maven and Java 9 and 10 (Devoxx France 2018)
Apache Maven and Java 9 and 10 (Devoxx France 2018)Apache Maven and Java 9 and 10 (Devoxx France 2018)
Apache Maven and Java 9 and 10 (Devoxx France 2018)
Ā 
Introduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS worldIntroduction to maven, its configuration, lifecycle and relationship to JS world
Introduction to maven, its configuration, lifecycle and relationship to JS world
Ā 
MAVEN - Short documentation
MAVEN - Short documentationMAVEN - Short documentation
MAVEN - Short documentation
Ā 
Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development
Ā 
Integrating Maven with Eclipse
Integrating Maven with EclipseIntegrating Maven with Eclipse
Integrating Maven with Eclipse
Ā 
Maven 3 New Features
Maven 3 New FeaturesMaven 3 New Features
Maven 3 New Features
Ā 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest Istanbul
Ā 
Maven
MavenMaven
Maven
Ā 
Jsf, facelets, spring, hibernate, maven2
Jsf, facelets, spring, hibernate, maven2Jsf, facelets, spring, hibernate, maven2
Jsf, facelets, spring, hibernate, maven2
Ā 
Introduction to Maven for beginners and DevOps
Introduction to Maven for beginners and DevOpsIntroduction to Maven for beginners and DevOps
Introduction to Maven for beginners and DevOps
Ā 
Maven: Mule esb plugin
Maven: Mule esb pluginMaven: Mule esb plugin
Maven: Mule esb plugin
Ā 

More from mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
Ā 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
Ā 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
Ā 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
Ā 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
Ā 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
Ā 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
Ā 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
Ā 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
Ā 
OSGi CDI Integration Specification - Ray AugƩ (Liferay)
OSGi CDI Integration Specification - Ray AugƩ (Liferay)OSGi CDI Integration Specification - Ray AugƩ (Liferay)
OSGi CDI Integration Specification - Ray AugƩ (Liferay)mfrancis
Ā 
How OSGi drives cross-sector energy management - Jƶrn TĆ¼mmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jƶrn TĆ¼mmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jƶrn TĆ¼mmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jƶrn TĆ¼mmler (SMA Solar Tech...mfrancis
Ā 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
Ā 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
Ā 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
Ā 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
Ā 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
Ā 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
Ā 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
Ā 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
Ā 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
Ā 

More from mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Ā 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
Ā 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Ā 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
Ā 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Ā 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
Ā 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
Ā 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
Ā 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Ā 
OSGi CDI Integration Specification - Ray AugƩ (Liferay)
OSGi CDI Integration Specification - Ray AugƩ (Liferay)OSGi CDI Integration Specification - Ray AugƩ (Liferay)
OSGi CDI Integration Specification - Ray AugƩ (Liferay)
Ā 
How OSGi drives cross-sector energy management - Jƶrn TĆ¼mmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jƶrn TĆ¼mmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jƶrn TĆ¼mmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jƶrn TĆ¼mmler (SMA Solar Tech...
Ā 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Ā 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
Ā 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Ā 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Ā 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
Ā 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Ā 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
Ā 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Ā 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
Ā 

Recently uploaded

Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
Ā 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜RTylerCroy
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
Ā 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
Ā 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
Ā 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
Ā 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
Ā 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
Ā 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
Ā 
Scaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationScaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationRadu Cotescu
Ā 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
Ā 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
Ā 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
Ā 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
Ā 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
Ā 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
Ā 

Recently uploaded (20)

Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Ā 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Ā 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Ā 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Ā 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Ā 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Ā 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Ā 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Ā 
Scaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationScaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organization
Ā 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Ā 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Ā 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Ā 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Ā 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Ā 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Ā 

Maven, Eclipse and OSGi Working Together - Carlos Sanchez