drewnoakes / metadata-extractor

Extracts Exif, IPTC, XMP, ICC and other metadata from image, video and audio files
Apache License 2.0
2.55k stars 479 forks source link

some files are missing in the .jar file #547

Closed PhilippBleimund closed 3 years ago

PhilippBleimund commented 3 years ago

When using metadata-extractor as a .jar libary. (when not using maven for some reasons) Some files aren't included. Ive noticed that the complete com.adobe folder is missing. But when using maven they are present. It would be nice of these folders could be included in the .jar file so the non maven users can still use the libary. image In the image are the imports of the class XmpReader. The class import's some files from the com.adobe folder. On the right side I opened the com directory of the .jar file. As you can see the adobe folder isn't present.

Nadahar commented 3 years ago

This is as expected. The main reason for using tools like Maven is that they handle dependencies for you. If you opt not to use something to handle the dependencies for you, you must handle them yourself.

It shouldn't be very hard in this case though, as it seems that Metadata-extractor only has one (runtime) dependency: https://github.com/drewnoakes/metadata-extractor/blob/c864f0c969702a9068e2c2debd7698b40f15de4a/pom.xml#L67-L79 As you can see junit is only needed for the "test" scope.

drewnoakes commented 3 years ago

As @Nadahar says, XmpCore should be sourced separately. Maven does this automatically. If you're not using Maven, you need to do it manually.

PhilippBleimund commented 3 years ago

Thanks for letting me know this. :) This was the first time something like this occured with library's I'm using so I was very confused. I'm going to use maven for the future, also because some library's I want to use aren't available as .jars. :(