phenol icon indicating copy to clipboard operation
phenol copied to clipboard

java.lang.IllegalAccessError - MinimalOntologyLoader

Open pnrobinson opened this issue 3 months ago • 3 comments

I am getting some weird errors from fenominal in an application program:

Exception in thread "main" java.lang.NoSuchMethodError: 'java.lang.Iterable org.monarchinitiative.phenol.ontology.data.MinimalOntology.nonObsoleteTermIds()'
	at [email protected]/org.monarchinitiative.fenominal.core.impl.hpo.HpoLoader.loadSimpleHpoTerms(HpoLoader.java:65)
(...)

However, it appears that this method is correct and is used in the latest phenol.

While trying to debug this, I am seeing this error that comes from ReportParseTest in fenominal

java.lang.IllegalAccessError: class org.monarchinitiative.phenol.io.MinimalOntologyLoader (in unnamed module @0x7c417213) cannot access class org.monarchinitiative.phenol.ontology.data.impl.SimpleMinimalOntology (in module org.monarchinitiative.phenol.core) because module org.monarchinitiative.phenol.core does not export org.monarchinitiative.phenol.ontology.data.impl to unnamed module @0x7c417213

	at org.monarchinitiative.phenol.io.MinimalOntologyLoader.loadOntology(MinimalOntologyLoader.java:95)
	at org.monarchinitiative.phenol.io.MinimalOntologyLoader.loadOntology(MinimalOntologyLoader.java:63)
	at org.monarchinitiative.phenol.io.MinimalOntologyLoader.loadOntology(MinimalOntologyLoader.java:45)
	at org.monarchinitiative.phenol.io.MinimalOntologyLoader.loadOntology(MinimalOntologyLoader.java:36)
	at [email protected]/org.monarchinitiative.fenominal.core.TestResources.hpo(TestResources.java:18)
	at [email protected]/org.monarchinitiative.fenominal.core.hpo.ReportParseTest.<clinit>(ReportParseTest.java:33)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

@ielis I am not sure if the module-info files wants to export impl (I am guessing we want to export only interfaces).

pnrobinson avatar Mar 07 '24 18:03 pnrobinson