Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSC305 Summer Lecture 04

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

CSC305 Summer Lecture 04

Individual Software Design and Development
Maven
(202508)

Avatar for Javier Gonzalez-Sanchez

Javier Gonzalez-Sanchez PRO

August 01, 2025
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227

    CSC 305 Individual Software Design and Development | Summer Version Lecture 04. Maven
  2. Library • A collection of resources (cl a sses) •

    A J a v a Archive, or JAR f ile, cont a ins a ll of the v a rious components th a t m a ke up a self- cont a ined, execut a ble J a v a a pplic a tion or, most commonly, a J a v a libr a ry to which a J a v a Runtime Environment c a n link. 3
  3. • Build m a n a gement tool • M

    a ven a utom a tes dependency m a n a gement by a utom a tic a lly downlo a ding required libr a ries a nd their dependencies, ensuring consistent builds with speci f ied versions. • In contr a st, m a nu a lly downlo a ding JARs is l a bor-intensive a nd error-prone. 5
  4. • The project object model (POM) f ile describes a

    project a nd its dependencies. • A st a nd a rdized directory form a t. • Repositories where third-p a rty softw a re is stored a nd discovered. 6
  5. Jsoup • A J a v a libr a ry

    th a t simpli f ies working with HTML a nd XML. • O ff ers URL fetching, d a t a p a rsing, extr a ction, a nd m a nipul a tion. • https://jsoup.org/ 17
  6. JavaParser • A J a v a libr a ry

    to a n a lyze, tr a nsform, a nd gener a te J a v a code. • https://j a v a p a rser.org/ 29
  7. JFreeChart • https://www.jfree.org/jfreech a rt/ • JFreeCh a rt is

    a libr a ry to displ a y profession a l-qu a lity ch a rts. 37
  8. Weka • Wek a is a collection of m a

    chine le a rning a nd d a t a a n a lysis • W a ik a to Environment for Knowledge An a lysis (Wek a ) • developed a t the University of W a ik a to, New Ze a l a nd • https://ml.cms.w a ik a to. a c.nz/wek a • 45
  9. 115,475 Towns and Cities in the United States July, 2012

    https://www.math.uwaterloo.ca/tsp/data/usa/index.html A dataset 54
  10. Eclipse Paho for Java Wh a t is Eclipse P

    a ho? • A set of MQTT client libr a ries developed by the Eclipse Found a tion. • It supports multiple l a ngu a ges, such a s J a v a , Python, J a v a Script, etc. J a v a Dependency (M a ven) <dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId> <version>1.2.5</version> </dependency> 57
  11. MariaDB • Open-source a nd cre a ted by MySQL

    origin a l developers • https://m a ri a db.com/downlo a ds/ • For M a c, you c a n use the Homebrew p a ck a ge m a n a ger: > brew install mariadb > mysql.server start 63
  12. Create Tables 67 CREATE TABLE database.students ( ID INT NOT

    NULL, user VARCHAR(8) NOT NULL , password VARCHAR(8) NOT NULL ) INSERT INTO students (ID, user, password) VALUES (1, "javiergs", "qwerty")
  13. Lab

  14. Let’s Work 75 A. Configure Maven B. Add a Dependency

    C. Create an example D. Show me your (Java) and POM file
  15. CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D.

    [email protected] Summer 2025 Copyright. These slides can only be used as study material for the class CSC305 at Cal Poly. They cannot be distributed or used for another purpose.