Producing Debug Information
By now, you may have noticed that Maven is performing a good deal of heavy lifting. If you were using Ant, you would have already had to write an Ant build.xml file and added tasks to compile, jar, and unit test. Maven is hiding a good deal of complexity, but when debugging problems, it is nice to be able to look "behind the curtain." The ability to run Maven in debug mode and to have this tool print out every last detail of a build can be essential if you need to verify that a build is doing exactly what you think it is doing.
How do I do that?
For this lab, refer to the previous test application. When
running maven test, you will
receive the following output:
java:compile:
[echo] Compiling to C:\dev\mavenbook\code\genapp\test-application/target/classes
[echo]
java:jar-resources:
[...]What is really happening during the java:compile or the java:jar-resources goals? Running maven -X test will display the full
debugging output for all goals executed in a Maven build. Let's try
it, and focus on the three goals listed earlier. Running maven -X
test produces the following output:
[...] java:compile: [echo] Compiling to C:\dev\mavenbook\code\genapp\test-application/target/classes [javac] [DEBUG] fileset: Setup scanner in dir C:\dev\mavenbook\code\genapp\test-application\src\java with patternSet{ includes: [ ] excludes: [**/package.html] } [javac] [VERBOSE] mdn\testapp\App.java omitted as mdn/testapp/App.class is up to date. java:jar-resources: [DEBUG] FileSet: ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access