Ciao a tutti In questi giorni sto aggiornando a java 11 e ai moduli un progetto opensource che feci ben 10 anni fa: jrecordbind
Dopo molti tentativi, sono arrivato a qualcosa che compila e ha i test verdi ma solo quando girano nell'IDE! Se lancio "mvn clean install" da terminale, i test falliscono con un messaggio del tipo java.lang.IllegalAccessException: class org.fissore.jrecordbind.Utils (in module org.fissore.jrecordbind) cannot access class org.fissore.jrecordbindtests.test.MyEnumConverter (in module org.fissore.jrecordbindtests) because module org.fissore.jrecordbindtests does not export org.fissore.jrecordbindtests.test to module org.fissore.jrecordbind Se al module-info del modulo di test aggiungo exports org.fissore.jrecordbindtests.test to org.fissore.jrecordbind; il compilatore si arrabbia con module-info.java:[6,39] package is empty or does not exist: org.fissore.jrecordbindtests.test Immagino succeda perchè le classi di test sono sotto src/test invece che src/main Qualche anima pia ha un po' di tempo per aiutarmi a capire come uscirne? Il codice è su github, branch "3.0.0" https://github.com/ffissore/jrecordbind/tree/3.0.0 Per darvi un po' di contesto: jrecordbind è una libreria per leggere/scrivere file di testo a lunghezza fissa (un "tracciato record", tipo quelli che le poste vi danno con gli accrediti fatti su un conto corrente postale) L'utente scrive un file XSD che definisce il tracciato record, con degli attributi non standard che servono a jrecordbind, soprattutto per convertire valori tipo enum, numeri o date jrecordbind (che sta nel suo modulo) legge il file XSD e prova a istanziare le classi dei converter specificate negli attributi non standard, classi che stanno in un altro modulo: è qui che nasce il problema ciao e grazie in anticipo federico
