[ https://issues.apache.org/jira/browse/MCOMPILER-372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17001200#comment-17001200 ]
François Loison commented on MCOMPILER-372: ------------------------------------------- Previous answer was partially correct. I had a test-compile failure for a project containing a JAXB XSD to java generation. Old code was trying to patch unmodularized dependencies. I added it 'prj0' project to test it. With new fix in pull request, prj0 passes. Also, all it tests pass. ( [https://github.com/apache/maven-compiler-plugin/pull/27] ) New code patches only dependencies with MODULEDESCRIPTOR. You told that junit-3.8.2 should not be patched. {{With fix, there is no --patch-module junit=... but there is still --patch-module prj1_372=...;junit-3.8.2.jar}} This is required to compile OK. For some reason, adding junit-3.8.2.jar to class path is not sufficient. *Here is compiler patch module arguments, paths are relative from prj2 for readability:* {code:java} --patch-module prj2_372= target\classes; src\test\java; target\generated-test-sources\test-annotations; {code} {code:java} --patch-module prj1_372= target\test-classes; ..\prj1\target\classes; ..\prj1\target\test-classes; %LOCAL_REPO%\junit\junit\3.8.2\junit-3.8.2.jar; {code} For information, compiler path module argument without pull request is: {code:java} --patch-module prj2_372= target\classes; src\test\java; target\generated-test-sources\test-annotations;{code} {code:java} {code} > Unable to compile modularized test code depending on test-jar > ------------------------------------------------------------- > > Key: MCOMPILER-372 > URL: https://issues.apache.org/jira/browse/MCOMPILER-372 > Project: Maven Compiler Plugin > Issue Type: Bug > Affects Versions: 3.8.0 > Environment: Manjaro Linux 64 bit, Open JDK 11, Apache-Maven-3.6.0 > Reporter: Jeronimo Backes > Assignee: Robert Scholte > Priority: Blocker > Attachments: maven-compiler-plugin.MCOMPILER-372.patch, > univocity-all.zip > > Time Spent: 0.5h > Remaining Estimate: 0h > > I'm refactoring > [univocity-parsers|https://github.com/uniVocity/univocity-parsers] into > multiple projects with modules (attached a zip with everything I got) > However I'm unable to reliably build the attached project with its unit > tests. Unpack then cd into "univocity-all-parent", then run "mvn clean > install". > > All projects generate test-jars, but for some reason class > *com.univocity.parsers.core.routine.ResultSetWritingRoutine* inside > "univocity-parsers-core/src/test/java/" is not found when compiling the tests > of projects "univocity-csv", "univocity-tsv" and "univocity-fixedwidth". > > Interestingly, the issue doesn't seem to be consistent as I got > "univocity-csv" and "univocity-tsv" building without errors a few times. > "univocity-fixedwidth" however failed consistently every single time. > Some of the errors I get are: > {{[ERROR] Failed to execute goal > org.apache.maven.plugins:maven-compiler-plugin:3.8.0:testCompile > (default-testCompile) on project univocity-csv: Compilation failure: > Compilation failure: }} > {{[ERROR] > /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/CsvWriterTest.java:[27,49] > cannot find symbol}} > {{[ERROR] symbol: class ResultSetWritingRoutine}} > {{[ERROR] location: package com.univocity.parsers.core.routine}} > {{[ERROR] > /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/CsvWriterTest.java:[681,17] > cannot find symbol}} > {{[ERROR] symbol: class ResultSetWritingRoutine}} > {{[ERROR] location: class com.univocity.csv.CsvWriterTest}} > {{[ERROR] > /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/CsvWriterTest.java:[681,52] > cannot find symbol}} > {{[ERROR] symbol: class ResultSetWritingRoutine}} > {{[ERROR] location: class com.univocity.csv.CsvWriterTest}} > {{[ERROR] > /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/CsvWriterTest.java:[691,17] > cannot find symbol}} > {{[ERROR] symbol: class ResultSetTest}} > {{[ERROR] location: class com.univocity.csv.CsvWriterTest}} > {{[ERROR] > /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/CsvWriterTest.java:[691,45] > cannot find symbol}} > {{[ERROR] symbol: class ResultSetTest}} > {{[ERROR] location: class com.univocity.csv.CsvWriterTest}} > {{[ERROR] > /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/routine/CsvRoutinesTest.java:[123,17] > cannot find symbol}} > {{[ERROR] symbol: class ResultSetWritingRoutine}} > {{[ERROR] location: class com.univocity.csv.routine.CsvRoutinesTest}} > {{[ERROR] > /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/routine/CsvRoutinesTest.java:[123,52] > cannot find symbol}} > {{[ERROR] symbol: class ResultSetWritingRoutine}} > {{[ERROR] location: class com.univocity.csv.routine.CsvRoutinesTest}} > {{[ERROR] > /home/jbax/dev/repository/univocity-all/univocity-oss/univocity-csv/src/test/java/com/univocity/csv/routine/CsvRoutinesTest.java:[124,68] > package ResultSetWritingRoutine does not exist}} > > I was also getting errors saying that the "Example" class was not found, or > that the "printAndValidate" method was not found (that one comes from the > univocity-output-tester dependency).. > > There's something very weird going on and it's not consistently reproducible. > If you for example change the code in the failing tests use "*import static > com.univocity.parsers.core.routine.ResultSetWritingRoutine.** " you may get a > different set of errors. It's pretty intractable. > I hope this provides enough information, let me know if you need anything > else. -- This message was sent by Atlassian Jira (v8.3.4#803005)