# Chainguard Libraries for Java

URL: https://chainguard-docs-preview-git-1016-404s.chainguard.app/software-security/learning-labs/ll202505.md
Last Modified: September 28, 2026
Tags: Learning Labs, Chainguard Libraries, Overview

Learning Lab in May 2025 with Manfred Moser


The May 2025 Learning Lab with Manfred Moser covers Chainguard Libraries for
Java. It starts with an overview about libraries and the Java ecosystem and
progresses to a demo with Apache Maven and Sonatype Nexus.

[Watch the video on YouTube](https://www.youtube.com/watch?v=z42b2_lePNI)


## Sections

- [0:00](https://www.youtube.com/watch?v=z42b2_lePNI) Introduction and agenda
- [2:38](https://www.youtube.com/watch?v=z42b2_lePNI&t=158s) Chainguard and containers
- [3:47](https://www.youtube.com/watch?v=z42b2_lePNI&t=227s) Chainguard Factory
- [4:57](https://www.youtube.com/watch?v=z42b2_lePNI&t=297s) Concepts - from containers to libraries
- [9:00](https://www.youtube.com/watch?v=z42b2_lePNI&t=540s) Java and Java libraries
- [12:45](https://www.youtube.com/watch?v=z42b2_lePNI&t=765s) Software supply chain of libraries and attacks
- [19:27](https://www.youtube.com/watch?v=z42b2_lePNI&t=1167s) Dependency supply in Java
- [20:30](https://www.youtube.com/watch?v=z42b2_lePNI&t=1230s) Repository concept and Maven Central
- [24:32](https://www.youtube.com/watch?v=z42b2_lePNI&t=1472s) Chainguard Libraries for Java and repository manager intro
- [28:17](https://www.youtube.com/watch?v=z42b2_lePNI&t=1697s) Developer tools
- [29:21](https://www.youtube.com/watch?v=z42b2_lePNI&t=1761s) Demo start and setup with chainctl
- [32:55](https://www.youtube.com/watch?v=z42b2_lePNI&t=1975s) Sonatype Nexus configuration
- [37:30](https://www.youtube.com/watch?v=z42b2_lePNI&t=2250s) Maven configuration
- [40:41](https://www.youtube.com/watch?v=z42b2_lePNI&t=2441s) Example project setup, build, and results
- [44:57](https://www.youtube.com/watch?v=z42b2_lePNI&t=2697s) Dependency list and tree
- [47:00](https://www.youtube.com/watch?v=z42b2_lePNI&t=2820s) Results and verification
- [49:37](https://www.youtube.com/watch?v=z42b2_lePNI&t=2977s) Summary
- [50:43](https://www.youtube.com/watch?v=z42b2_lePNI&t=3043s) Up next
- [52:55](https://www.youtube.com/watch?v=z42b2_lePNI&t=3175s) Questions

## Demo

Following are some of the commands used in the demo. More information can be
found in the slide deck, the linked resources, and the video.

Creating a pull token:

```shell
chainctl auth login

chainctl libraries entitlements list

chainctl auth pull-token --repository=java --ttl=1h
```

Cleaning up the local Maven repository cache:

```shell
rm -rf ~/.m2/repository
```

Building [Trino Gateway](https://github.com/trinodb/trino-gateway) from source
and looking at dependencies:

```shell
cd trino-gateway

./mvnw clean install -DskipTests=true

./mvnw dependency:list

./mvnw dependency:tree
```

## Resource links

- [Chainguard Libraries](https://www.chainguard.dev/libraries)
- [Chainguard Libraries documentation](/chainguard/libraries/introduction/overview/)
- [Chainguard Libraries for Java documentation](/chainguard/libraries/java/overview/)
- [Slide deck](/downloads/learning-lab-chainguard-libraries-java.pdf)
- [Apache Maven](https://maven.apache.org/)
- [Sonatype Nexus Repository](https://www.sonatype.com/products/sonatype-nexus-repository)
- [Apache Maven dependency plugin](https://maven.apache.org/plugins/maven-dependency-plugin/)

