Mattew Eon
Mattew Eon

Reputation: 1783

Java - access pom.xml file from JAR

I'm working on a plugin capable of displaying the list of the dependencies of a Maven project. To make this possible, I read the pom.xml file and print data on the console for debugging. This worked just fine, until I tried it from the JAR file : I got a FileNotFoundException (for the pom.xml file)

Here is my original question

Upvotes: 1

Views: 11352

Answers (2)

Zap
Zap

Reputation: 346

What worked for me was

$ unzip foo.jar foo
$ cat foo/META-INF/maven/com.bar/foo/pom.xml

Another idea that didn't work for me instead of unzipping is jar -xf foo.jar

Upvotes: 2

Mattew Eon
Mattew Eon

Reputation: 1783

As suggested JF Meier, I tried to read the pom.xml file as a resource and it worked.

MyClass obj = new MyClass();
InputStream pomFile = obj.getClass().getClassLoader().getResourceAsStream("META-INF/maven/groupId/artifactId/pom.xml");

The only issue now is that the path to the file will not be the same for each project as it depends of the groupId and the artifactId

Upvotes: 5

Related Questions