Giter VIP home page Giter VIP logo

Comments (12)

ar avatar ar commented on September 24, 2024

jPOS needs those libraries so you can run java -jar jpos.jar - I don't think this is a jPOS issues.

from jpos.

chhil avatar chhil commented on September 24, 2024

Its trying to retrieve jars from a local repository , possibly because its not packaged in the distribution you are running. How are you building your distribution ?

from jpos.

narwajea avatar narwajea commented on September 24, 2024

Let me explain what happens exactly.

The jpos jar references several libraries needed to run it as explained by @ar. That means it is not only a library jar (used as a dependency in my Spring Boot app), but also an executable jar.

I package my application with Maven (as you might guess from the dependency above). I run my application locally in my IDE (Eclipse) with the Spring IDE plugin. Spring checks the MANIFEST of each dependency, and consequently checks if there are some jar files in a /lib folder next to jpos-2.1.0.jar. Of course there isn't, because those libraries reside in their own folder, e.g. C:\Users\username\.m2\repository\org\jdom\jdom2\2.0.6 for jdom2-2.0.6.jar.

Then Spring alerts about the missing files, but the app works fine though, because it is packaged & run from Maven dependencies. So this warning is just informative.

First, why is the jpos jar an executable jar ?

Second, this standalone jar file should not reference other libs in the Class-Path entry of its MANIFEST file, otherwise it should have been packaged as an uber jar containing those libs. That's the way apps are packaged nowadays.

from jpos.

chhil avatar chhil commented on September 24, 2024

Traditionally (ant), all the jars are packaged put in the lib folder and speaking for myself here we run the executable jar using a windows service or a shell script. Gradle which is used today probably does the same thing today. I will let the @ar Alejandro(architect) of JPOS answer your queries.

from jpos.

ar avatar ar commented on September 24, 2024

That means it is not only a library jar (used as a dependency in my Spring Boot app), but also an executable jar.

Exactly. jPOS is a library and it embeds Q2 which is a Framework. The manifest comes very handy when running Q2, used by most jPOS applications. But I see your point, we don't necessarily need to place that manifest in the jpos jar, it can go in the jPOS application built by the jPOS template.

Being able to "run" a jPOS application in the way we currently do inside the development build comes very handy, but we don't necessarily have to publish it at release time. I'll take a look at that, specially checking we don't break any OSGi related support.

As a temporary work around, you can remove line 90 in jpos/build.gradle, call gradle install and pick it from maven local, just to verify this fixes your problem.
(https://github.com/jpos/jPOS/blob/master/jpos/build.gradle#L90)

Sounds reasonable @narwajea ?

from jpos.

narwajea avatar narwajea commented on September 24, 2024

we don't necessarily need to place that manifest in the jpos jar

Exactly.

I'll take a look at that, specially checking we don't break any OSGi related support.

Thank you.

you can remove line 90

And line 94 ?

Sounds reasonable @narwajea ?

Sounds good to me, thank you. Please let me know when you release a new version without the Class-Path entry.

from jpos.

ar avatar ar commented on September 24, 2024

And line 94 ?

Sure, actually line 94 is the only one that matters, but 90 should be taken away too just because it would become obsolete.

Please let me know when you release a new version

You'll see this issue closed.

from jpos.

ar avatar ar commented on September 24, 2024

@narwajea - this issue has been fixed in 2.1.2-SNAPSHOT and a nightly build has been forced.

Can you give it a try and confirm it works for you? (please note you need to add http://jpos.org/maven as a repo)

from jpos.

narwajea avatar narwajea commented on September 24, 2024

Using version 2.1.2-SNAPSHOT from the mentioned repository, the Spring warning has disappeared. Thank you for your prompt action.

from jpos.

ar avatar ar commented on September 24, 2024

Thank you for the confirmation. Will close the issue. We expect to release 2.1.2 soon to Maven Central.

from jpos.

narwajea avatar narwajea commented on September 24, 2024

Any idea when 2.1.2 will be released?

from jpos.

ar avatar ar commented on September 24, 2024

We are very close to delivery, hopefully by mid-July.

from jpos.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.