Skip to content

Latest commit

 

History

History
126 lines (113 loc) · 2.9 KB

ch12-commands.md

File metadata and controls

126 lines (113 loc) · 2.9 KB

Modules - commands

Compiling Module

Extended Form

javac --module-path mods -d feeding feeding/zoo/animal/feeding/*.java feeding/module-info.java

The -d option is used to specify the destination directory for the compiled Java class files.

Abbreviated Form

javac -p mods -d feeding feeding/zoo/animal/feeding/*.java feeding/module-info.java

with classpath

--class-path <path>, -classpath <path>, -cp <path>

WARN: All of these are equivalent!

  1. --class-path
  2. -classpath
  3. -cp

add-exports

If you must use an internal API that has been made inaccessible by default, then you can break encapsulation using the --add-exports command-line option.

javac -p out --add-exports moduleA/com.example.util=moduleB -d out/moduleB **/.java

Packaging modules

jar -cvf mods/zoo.visitor.jar -C consumerModule . 

Running module

Extended Form

java --module-path mods --module zoo.animal.feeding/zoo.animal.feeding.Task

Abbreviated Form

java -p mods -m zoo.animal.feeding/zoo.animal.feeding.Task

show-module-resolution

show module resolution output during startup

java --show-module-resolution -p mods -m zoo.visitor/zoo.visitor.Tourist

When this option is present, the JVM will output information about how it resolved module dependencies.

describe modules

java -p mods -d moduleName
java --module-path mods --describe-module moduleName

Example

extended:

java --module-path mods --describe-module zoo.tours.api

compact:

java -p mods -d zoo.tours.api  

output

zoo.tours.api file:///Users/enrico/github/ocp17/sybex-1Z0-829-chapter-12/mods/zoo.tours.api.jar
exports zoo.tours.api
requires java.base mandated

list

java --list-modules

describe-module - jar

jar --file mods/zoo.staff.jar --describe-module
#equivalent
jar --file mods/zoo.staff.jar -d

jdeps

The jdeps command lists information about dependencies within a module.

jdeps –s zoo.dino.jar 
  • -s / -summary - Summarizes output
  • --jdk-internals / -jdkinternals - The jdeps -jdkinternals option includes analysis of dependencies on JDK internal APIs

Screenshot jdeps commands

jdeps.png

jlink

extended

jlink --module-path mods --add-modules zoo.animal.talks --output zooApp 

Abbreviated

jlink -p mods --add-modules zoo.animal.talks --output zooApp 

There is no abbreviated form for the parameter output.

  • --add-modules - List of modules to package
  • --output - Name of output directory

This is the contents of the generated folder:

cd zooAPP/    
ls

output:

bin conf include legal lib man release

jmod

#generated by CGPT
jmod create --class-path out/moduleA --module-version 1.0 --module-path out out/moduleA.jmod
  • create
  • extract
  • describe
  • list
  • hash