RMLio / rmlmapper-java

The RMLMapper executes RML rules to generate high quality Linked Data from multiple originally (semi-)structured data sources
http://rml.io
MIT License
147 stars 61 forks source link

4.11.0 missing the Main-Class manifest attribute #125

Closed IanEmmons closed 3 years ago

IanEmmons commented 3 years ago

In the new 4.11.0 release, the rmlmapper jar is missing the Main-Class manifest attribute (with value "be.ugent.rml.cli.Main"), meaning it can no longer be run using the JVM's -jar command line option.

IanEmmons commented 3 years ago

I've discovered that my initial diagnosis here was way off. The rmlmapper jar I downloaded from Maven Central indeed is missing the Main-Class attribute, but it also isn't a fat jar. So, the real issue is that the rmlmapper release on GitHub is a different thing than what is released on Maven Central.

While I'm on that topic, it would be great if you could refactor rmlmapper into a straight library — no fuseki, no Docker support, no command line interface, no fat jar. Just a straight-up library designed to be called from my Java code. All of those other bells and whistles could then be packaged as separate jars with the library jar as a dependency.

thomas-delva commented 3 years ago

Hi! We publish both the fat and the "non-fat" jar on Maven Central. The fat jar can be found via the Maven Central web interface at this link.

About publishing this code as a library: could you perhaps give some more detail about how the non-fat jar differs from what you would need? Then we can consider it for our next refactor to accommodate developers with similar needs.

IanEmmons commented 3 years ago

Sorry, I should have looked in Maven Central. BTW, the "fat" jar there and the one I obtained through the GitHub Releases page are not identical, though I suspect that they are equivalent. I'm going to close this issue and open a new one about why your non-fat jar isn't working for me. The tl;dr is that it pulls in too many dependencies, some of which appear to conflict with each other.