When java 9 module require any third party jar or lib which is not developer in java 9 as module at that time we need to add that jar in module path and write requires statement in module-info.java
file.
i.e.
requires gauva.jar
Table of Contents
Example:

java-9-module-structure
module-info.java
module javadeveloperzone.base{ requires guava; }
Demo.java
package com.javadeveloperzone; import com.google.common.base.Optional; public class Demo{ public static void main(String ... args){ Optional b = Optional.of(new Integer(10)); System.out.println(b.get()); } }
Command To run module:
mkdir mlib echo "Compiling Class files of module" javac --module-path mlib -d output/classes base/com/javadeveloperzone/*.java javac --module-path mlib -d output/classes base/Module-info.java echo "Creating javadeveloperzone.base module Jar" jar -c -f mlib/javadeveloperzone.base.jar -C output/classes . echo "Running javadeveloperzone.base module..." java --module-path mlib -m javadeveloperzone.base/com.javadeveloperzone.Demo
Output:
10
Check Dependency:
jdeps --module-path . -s javadeveloperzone.base.jar

module-jdeps
Limitations:
If jar name contains – or . characters at that time module-info.java
does not allowed module name with – or .
i.e
require gauva-11.5
gauva-11.5 is invalid. In this case rename jar file and remove – or . characters from jar file.
Example using maven : how to use third party dependency using maven
Was this post helpful?
Let us know if you liked the post. That’s the only way we can improve.