[INFO] Scanning for projects...
[INFO] 
[INFO] --------------------< blog.examples:java-libraries >--------------------
[INFO] Building java-libraries 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- clean:3.2.0:clean (default-clean) @ java-libraries ---
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ java-libraries ---
[INFO] skip non existing resourceDirectory /tmp/java-libraries-package-check/java-libraries-25-30/src/main/resources
[INFO] 
[INFO] --- compiler:3.14.1:compile (default-compile) @ java-libraries ---
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 3 source files with javac [debug release 8] to target/classes
[WARNING] 源值 8 已过时，将在未来发行版中删除
[WARNING] 目标值 8 已过时，将在未来发行版中删除
[WARNING] 要隐藏有关已过时选项的警告, 请使用 -Xlint:-options。
[INFO] 
[INFO] --- resources:3.3.1:testResources (default-testResources) @ java-libraries ---
[INFO] skip non existing resourceDirectory /tmp/java-libraries-package-check/java-libraries-25-30/src/test/resources
[INFO] 
[INFO] --- compiler:3.14.1:testCompile (default-testCompile) @ java-libraries ---
[INFO] Recompiling the module because of changed dependency.
[INFO] Compiling 6 source files with javac [debug release 8] to target/test-classes
[WARNING] 源值 8 已过时，将在未来发行版中删除
[WARNING] 目标值 8 已过时，将在未来发行版中删除
[WARNING] 要隐藏有关已过时选项的警告, 请使用 -Xlint:-options。
[INFO] 
[INFO] --- surefire:3.5.4:test (default-test) @ java-libraries ---
[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running blog.libraries.Chapter28Test
28 strict policy rejects nonzero tail bits; JDK basic decoder rejects nonalphabet input
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.055 s -- in blog.libraries.Chapter28Test
[INFO] Running blog.libraries.Chapter25Test
25 bounded copy: six bytes at budget five -> reject, written=5
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.026 s -- in blog.libraries.Chapter25Test
[INFO] Running blog.libraries.Chapter29Test
29 malformed CSV: org.apache.commons.csv.CSVException: (startline 2) EOF reached before encapsulated token finished
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.010 s -- in blog.libraries.Chapter29Test
[INFO] Running blog.libraries.Chapter30Test
30 budgets: entries/item/total/archive/time/high-ratio rejected; failed roots removed
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.090 s -- in blog.libraries.Chapter30Test
[INFO] Running blog.libraries.Chapter27Test
27 policy: map-only lookup, unresolved reject, value recursion disabled, input length bounded
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 s -- in blog.libraries.Chapter27Test
[INFO] Running blog.libraries.Chapter26Test
26 path policy: traversal/absolute/backslash/existing/symlink rejected; nested create accepted
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.010 s -- in blog.libraries.Chapter26Test
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 23, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] 
[INFO] --- jar:3.4.2:jar (default-jar) @ java-libraries ---
[INFO] Building jar: /tmp/java-libraries-package-check/java-libraries-25-30/target/java-libraries-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.874 s
[INFO] Finished at: 2026-10-02T17:27:02+08:00
[INFO] ------------------------------------------------------------------------
