SlideShare uma empresa Scribd logo
1 de 22
Building and Managing
Java Projects with Maven
Part-III
Property Processing
${project.home}/project.properties Project scope
properties
${project.home}/build.properties Properties
specific to each
build
${user.home}/build.properties Properties
specific to each
user
CLI –Dfoo=bar
The last definition wins
Sample build.properties:
…
bea.home=c:/bea81sp1
oracle.home=c:/oracle/ora9i
Build Process Design
Sample Service project components
Common data module
EJBs
Web Application
Data
(jar)
EJB
(jar)
Webapp
(war)
EAR
Subproject: service-data
sampleservice
–project.xml
–maven.xml
–application/
–service-data/
–project.xm
l
–maven.xml
–src/
–service-ejb/
–service-web/
–xdocs/
project.xml (POM)
<project>
<extend>../project.xml</extend>
<name>Sample Service Data
Module</name>
<id>sampleservice-data</id>
</project>
Note: POM can be inherited.
Subproject: service-data
sampleservice
–project.xml
–maven.xml
–application/
–service-data/
–project.xml
–maven.xml
–src/
–service-ejb/
–service-web/
–xdocs/
maven.xml (Goals)
<project default="build"
xmlns:j="jelly:core"
xmlns:maven="jelly:maven"
xmlns:ant="jelly:ant">
<goal name="build"
prereqs="jar:install"/>
</project>
Note: Goals can also be inherited
Make jar Local
Repo
Subproject: service-ejb
sampleservice
–project.xml
–maven.xml
–application/
–service-data/
–service-ejb/
–project.xm
l
–maven.xml
–src/
–service-web/
–xdocs/
project.xml (POM)
<project>
<extend>../project.xml</extend>
<name>Sample Service EJB</name>
<id>sampleservice-ejb</id>
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>sampleservice-data</artifactId>
<version>${pom.currentVersion}</version>
<properties>
<ejb.manifest.classpath>true</ejb.manife
st.classpath>
</properties>
</dependency>
</project>
Local
Repo
xdoclet compile ws-gen ejb-jar
Subproject: service-ejb
Maven XDoclet Plugin
– Support all standard tags
– Automatically includes generated src dir in compilation src set
– Support util class generation
– Dependencies
– xdoclet-ejb-module-1.2
– xdoclet-web-module-1.2
– xdoclet-bea-module-1.2
(for WebLogic Server Deployment)
Note: Current version 1.2 does not work out-of-box (needed to fix the projec
Subproject: service-ejb
Maven XDoclet Plugin - Properties
## EJBDoclet
maven.xdoclet.ejbdoclet.fileset.0.include=**/ejb/**/*Bean.java
maven.xdoclet.ejbdoclet.ejbSpec=2.0
maven.xdoclet.ejbdoclet.verbose=true
maven.xdoclet.ejbdoclet.session.0=false
maven.xdoclet.ejbdoclet.localhomeinterface.0=true
maven.xdoclet.ejbdoclet.localinterface.0=true
maven.xdoclet.ejbdoclet.utilobject.0=true
## EJBDoclet WebLogic Nested Element
maven.xdoclet.ejbdoclet.weblogic.0=true
maven.xdoclet.ejbdoclet.weblogic.0.mergeDir=${src.dir}/ejbdoclet
maven.xdoclet.ejbdoclet.weblogic.0.destDir=${maven.xdoclet.ejbdoclet
.deploymentdescriptor.0.destDir}
Subproject: service-ejb
Web Services
– Currently Maven has no container specific plugins
<goal name="wsgen" prereqs="wsgen.autotype, wsgen.source2wsdd"/>
<goal name="wsgen.autotype">
<taskdef name="autotype"
classname="weblogic.ant.taskdefs.webservices.javaschema.JavaSchema"/>
….
</goal>
<goal name=“wsgen.source2wsdd”>
…
</goal> project.properties
## Web Services
maven.webservice.javaComponents=
com.myinc.sampleservice.ejb.BasicAccountInquiry,
com.myinc.sampleservice.ejb.ExpandedAccountInquiry,
com.myinc.sampleservice.ejb.DetailedAccountInquiry
maven.webservice.autotype.package=com.myinc.sampleservice.autotype
maven.webservice.autotype.keepgenerated=false
Use tag:
@wlws
Subproject: service-ejb
sampleservice
–project.xml
–maven.xml
–application/
–service-data/
–service-ejb/
–project.xml
–maven.xml
–src/
–service-web/
–xdocs/
Maven EJB Plugin
– Currently no container specific ejb-jar
<goal name="ejbjar" prereqs="java:compile">
<path id="ejb.classpath">
<pathelement location="${maven.build.dest}"/>
<path refid="maven.dependency.classpath"/>
</path>
<j:set var="maven.ejb.descriptordir"
value="${pom.getPluginContext('maven-xdoclet-plugin')…./>
<ejbjar srcdir="${maven.build.dest}"
descriptordir="${maven.ejb.descriptordir}"
flatdestdir="true"
basejarname="${pom.artifactId}-${pom.currentVersion}">
<classpath refid="ejb.classpath"/>
<weblogic destdir="${maven.build.dir}“newCMP="true"
outputdir="${maven.build.dir}/ejb" rebuild="false"
ejbcclass="weblogic.ejbc"
</weblogic>
…
Subproject: service-ejb
sampleservice
–project.xml
–maven.xml
–application/
–service-data/
–service-ejb/
–project.xml
–maven.xml
–src/
–service-web/
–xdocs/
Making the Final EJB Jar
<project default="build“>
<goal name="build" prereqs="ejb:install"/>
<preGoal name="java:compile">
<attainGoal name="xdoclet:ejbdoclet"/>
</preGoal>
<postGoal name="java:compile">
<attainGoal name="wsgen"/>
<attainGoal name="java:jar-resources"/>
</postGoal>
<preGoal name="ejb:ejb">
<attainGoal name="ejbjar"/>
</preGoal>
<postGoal name="ejb:install">
<artifact:install
artifact="${maven.build.dir}/${pom.artifactId}-${pom.currentVersion}.xml"
type="xml“ project="${pom}"/>
</postGoal>
Subproject: service-web
sampleservice
–project.xml
–maven.xml
–application/
–service-data/
–service-ejb/
–service-web/
–project.xm
l
–maven.xml
–src/
–xdocs/
project.xml (POM)
<project>
<extend>../project.xml</extend>
<name>Sample Service Web Application</name>
<id>sampleservice-web</id>
…
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>sampleservice-data</artifactId>
<version>${pom.currentVersion}</version>
</dependency>
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>sampleservice-ejb</artifactId>
<version>${pom.currentVersion}</version>
<type>ejb</type>
<properties>
<web-service>true</web-service>
</properties>
</dependency>
custom
property
Subproject: service-web
maven.xml (goals)
<project default=“build”>
<goal name="build" prereqs="war:install"/>
<preGoal name="war:war">
<j:forEach var="dep" items="${pom.dependencies}">
<j:if test="${dep.getProperty('web-service')=='true'}">
<util:file var="xmlFile"
name="${maven.repo.local}/${dep.groupId}/xmls/${dep.artifactId}-
${dep.version}.xml"/>
<j:if test="${xmlFile.exists()}">
<x:parse var="xml" xml="${xmlFile}"/>
<x:forEach var="node" select="$xml/*/*">
<j:set var="temp" value="${root.add(node.detach())}"/>
</x:forEach>
</j:if>
</j:if>
</j:forEach>
<j:if test="${!root.elements().isEmpty()}">
<!– output the “web-services.xml” -->
</j:if>
</preGoal>
preGoal is
used to generate
web services DD
file if defined
Subproject: application
sampleservice
–project.xml
–maven.xml
–application/
–project.xm
l
–maven.xml
–src/
–service-data/
–service-ejb/
–service-web/
EAR Packaging
<project>
<extend>../project.xml</extend>
<name>Sample Service Application</name>
<id>sampleservice</id>
<!-- Data Component -->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>sampleservice-data</artifactId>
<version>${pom.currentVersion}</version>
<type>jar</type>
<properties>
<ear.bundle>true</ear.bundle>
</properties>
</dependency>
<!-- EJB Component -->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>sampleservice-ejb</artifactId>
<version>${pom.currentVersion}</version>
<type>ejb</type>
<properties>
<ear.bundle>true</ear.bundle>
</properties>
</dependency>
<!-- WAR Component -->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>sampleservice-web</artifactId>
<version>${pom.currentVersion}</version>
<type>war</type>
<properties>
<ear.bundle>true</ear.bundle>
<ear.appxml.war.context-root>
/${pom.artifactId}
</ear.appxml.war.context-root>
</properties>
</dependency>
Subproject: application
sampleservice
–project.xml
–maven.xml
–application/
–project.xml
–maven.xml
–src/
–service-data/
–service-ejb/
–service-web/
–xdocs/
EAR Packaging
<project default=“build”>
<goal name="build" prereqs="ear"/>
<preGoal name="ear:generate-ear-
descriptor"> <mkdir
dir="${maven.ear.appxml.dir}"/>
</preGoal>
</project>project.properties
…
## Ear related
maven.ear.appxml.dir = ${maven.build.dir}/application/META-INF
maven.ear.appxml = ${maven.ear.appxml.dir}/application.xml
maven.ear.appxml.generate = true
Tip: container specific DD files can be stored at src/application/META-INF
Putting It Together: Reactor
<goal name="build">
<maven:reactor
basedir="${basedir}"
postProcessing="true"
includes="*/project.xml"
excludes=""
goals="build"
banner="Building"
ignoreFailures="false"/>
</goal>
…
sampleservice
–project.xml
–maven.xml
–application/
–service-data/
–service-ejb/
–service-web/
–xdocs/
<project default=“build”
xmlns:j="jelly:core"
xmlns:maven="jelly:maven"
xmlns:ant="jelly:ant">
….
Putting It Together: Reactor
/c/dev/sampleservice/>maven
__ __
| / |__ _Apache__ ___
| |/| / _`  V / -_) '  ~ intelligent projects ~
|_| |___,_|_/___|_||_| v. 1.0-rc1-SNAPSHOT
Starting the reactor...
Our processing order:
Sample Service Data Module
Sample Service EJB
Sample Service Web Application
Sample Service Application
+----------------------------------------
| Building Sample Service Data Module
| Memory: 3M/4M
+----------------------------------------
build:
java:prepare-filesystem:
[mkdir] Created dir: C:devsampleserviceservice-datatargetclasses
java:compile:
….
Customizing Maven
• Override plugin properties in
– project.properties
– build.properties
• Use maven.xml
– Override plugin goals
– Intercept plugin goals with <preGoal/>
and <postGoal/>
• Write you own plugin
– In Java, Jelly, or other scripting language.
Real Life Maven
• Single artifact per project
– Can be tweaked to deliver multiple artifacts
as long as no type conflicts
– Fine-grained design
• Project Migration/Mavenizing
– Can co-exist with ant
– May require different directory structure
• Too Slow?
– Use console plugin
• Are you ready for maven?
– Culture change
Summary
• Pros
– Work out-of-box for standard projects
– Build assets highly reusable, thanks to
core/plugin architecture
– Build rules are more dynamic
– Best suited for project integration
– IDE friendly
• Cons
– Incomplete documentation
– Missing convenience details
– Not yet mature. Still waiting for the R1.
Get More
• http://maven.apache.org
• http://www.onjava.com/pub/a/onjava/2003/10/22/maven.html
• http://www-106.ibm.com/developerworks/java/library/j-maven
• http://www.javausergroup.at/events/maven.pdf
• http://www.theserverside.com/articles/article.jsp?l=MavenMagi
c
• http://blogs.codehaus.org/people/vmassol/archives/000080.ht
ml
• http://www.javaworld.com/javaworld/jw-10-2002/jw-1011-
maven.html
Questions

Mais conteúdo relacionado

Mais procurados

Hyperproductive JSF 2.0 @ JavaOne Brazil 2010
Hyperproductive JSF 2.0 @ JavaOne Brazil 2010Hyperproductive JSF 2.0 @ JavaOne Brazil 2010
Hyperproductive JSF 2.0 @ JavaOne Brazil 2010Arun Gupta
 
Magento Live Australia 2016: Request Flow
Magento Live Australia 2016: Request FlowMagento Live Australia 2016: Request Flow
Magento Live Australia 2016: Request FlowVrann Tulika
 
AngularJS vs. Ember.js vs. Backbone.js
AngularJS vs. Ember.js vs. Backbone.jsAngularJS vs. Ember.js vs. Backbone.js
AngularJS vs. Ember.js vs. Backbone.jsMark
 
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Arun Gupta
 
Simple module Development in Joomla! 2.5
Simple module Development in Joomla! 2.5Simple module Development in Joomla! 2.5
Simple module Development in Joomla! 2.5Vishwash Gaur
 
Building and Managing Projects with Maven
Building and Managing Projects with MavenBuilding and Managing Projects with Maven
Building and Managing Projects with MavenKhan625
 
Migrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mindMigrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mindValentine Matsveiko
 
Jsf2 composite-components
Jsf2 composite-componentsJsf2 composite-components
Jsf2 composite-componentsvinaysbk
 
Layouts and Rendering in Rails, Season 2
Layouts and Rendering in Rails, Season 2Layouts and Rendering in Rails, Season 2
Layouts and Rendering in Rails, Season 2RORLAB
 
feature flagging with rails engines v0.2
feature flagging with rails engines v0.2 feature flagging with rails engines v0.2
feature flagging with rails engines v0.2 Enrico Teotti
 
Ajax Tags Advanced
Ajax Tags AdvancedAjax Tags Advanced
Ajax Tags AdvancedAkramWaseem
 

Mais procurados (17)

实战Ecos
实战Ecos实战Ecos
实战Ecos
 
Hyperproductive JSF 2.0 @ JavaOne Brazil 2010
Hyperproductive JSF 2.0 @ JavaOne Brazil 2010Hyperproductive JSF 2.0 @ JavaOne Brazil 2010
Hyperproductive JSF 2.0 @ JavaOne Brazil 2010
 
Magento Live Australia 2016: Request Flow
Magento Live Australia 2016: Request FlowMagento Live Australia 2016: Request Flow
Magento Live Australia 2016: Request Flow
 
Advanced Visualforce Webinar
Advanced Visualforce WebinarAdvanced Visualforce Webinar
Advanced Visualforce Webinar
 
AngularJS vs. Ember.js vs. Backbone.js
AngularJS vs. Ember.js vs. Backbone.jsAngularJS vs. Ember.js vs. Backbone.js
AngularJS vs. Ember.js vs. Backbone.js
 
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
 
Os Haase
Os HaaseOs Haase
Os Haase
 
JSF 2.0 Preview
JSF 2.0 PreviewJSF 2.0 Preview
JSF 2.0 Preview
 
Simple module Development in Joomla! 2.5
Simple module Development in Joomla! 2.5Simple module Development in Joomla! 2.5
Simple module Development in Joomla! 2.5
 
Building and Managing Projects with Maven
Building and Managing Projects with MavenBuilding and Managing Projects with Maven
Building and Managing Projects with Maven
 
Maven II
Maven IIMaven II
Maven II
 
Migrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mindMigrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mind
 
Jsf2 composite-components
Jsf2 composite-componentsJsf2 composite-components
Jsf2 composite-components
 
Layouts and Rendering in Rails, Season 2
Layouts and Rendering in Rails, Season 2Layouts and Rendering in Rails, Season 2
Layouts and Rendering in Rails, Season 2
 
feature flagging with rails engines v0.2
feature flagging with rails engines v0.2 feature flagging with rails engines v0.2
feature flagging with rails engines v0.2
 
Ajax Tags Advanced
Ajax Tags AdvancedAjax Tags Advanced
Ajax Tags Advanced
 
Resthub lyonjug
Resthub lyonjugResthub lyonjug
Resthub lyonjug
 

Semelhante a Building and managing java projects with maven part-III

Semelhante a Building and managing java projects with maven part-III (20)

Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Maven in Mule
Maven in MuleMaven in Mule
Maven in Mule
 
Maven
MavenMaven
Maven
 
Maven introduction in Mule
Maven introduction in MuleMaven introduction in Mule
Maven introduction in Mule
 
Maven part 2
Maven part 2Maven part 2
Maven part 2
 
Maven ii
Maven iiMaven ii
Maven ii
 
Maven ii
Maven iiMaven ii
Maven ii
 
Jsf
JsfJsf
Jsf
 
The Rails Way
The Rails WayThe Rails Way
The Rails Way
 
Play vs Rails
Play vs RailsPlay vs Rails
Play vs Rails
 
Redmine Betabeers SVQ
Redmine Betabeers SVQRedmine Betabeers SVQ
Redmine Betabeers SVQ
 
Summit2014 topic 0153 - Alfresco Maven for shared properties
Summit2014 topic 0153 - Alfresco Maven for shared propertiesSummit2014 topic 0153 - Alfresco Maven for shared properties
Summit2014 topic 0153 - Alfresco Maven for shared properties
 
Oaf development-guide
Oaf development-guideOaf development-guide
Oaf development-guide
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
 
Rails 3: Dashing to the Finish
Rails 3: Dashing to the FinishRails 3: Dashing to the Finish
Rails 3: Dashing to the Finish
 
Ajax, JSF, Facelets, Eclipse & Maven tutorials
Ajax, JSF, Facelets, Eclipse & Maven tutorialsAjax, JSF, Facelets, Eclipse & Maven tutorials
Ajax, JSF, Facelets, Eclipse & Maven tutorials
 
Spring into rails
Spring into railsSpring into rails
Spring into rails
 
Web applications with Catalyst
Web applications with CatalystWeb applications with Catalyst
Web applications with Catalyst
 
intellimeet
intellimeetintellimeet
intellimeet
 

Mais de princeirfancivil (20)

Web services uddi
Web services uddiWeb services uddi
Web services uddi
 
Web services wsdl
Web services wsdlWeb services wsdl
Web services wsdl
 
Web services SOAP
Web services SOAPWeb services SOAP
Web services SOAP
 
WebServices introduction
WebServices introductionWebServices introduction
WebServices introduction
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
 
Maven part 1
Maven part 1Maven part 1
Maven part 1
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Data weave
Data weave Data weave
Data weave
 
How to use expression filter
How to use expression filterHow to use expression filter
How to use expression filter
 
How to use message properties component
How to use message properties componentHow to use message properties component
How to use message properties component
 
Mapping and listing with mule
Mapping and listing with muleMapping and listing with mule
Mapping and listing with mule
 
Mmc rest api user groups
Mmc rest api user groupsMmc rest api user groups
Mmc rest api user groups
 
Mmc
MmcMmc
Mmc
 
Mmc
MmcMmc
Mmc
 
Mmc 2
Mmc 2Mmc 2
Mmc 2
 
Mule esb api layer
Mule esb api layerMule esb api layer
Mule esb api layer
 
Mule esb stripe
Mule esb stripeMule esb stripe
Mule esb stripe
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule for each scope headerc ollection
Mule for each scope headerc ollectionMule for each scope headerc ollection
Mule for each scope headerc ollection
 
Mule security jaas
Mule security jaasMule security jaas
Mule security jaas
 

Último

Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 

Último (20)

Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

Building and managing java projects with maven part-III