kohlschutter / junixsocket

Unix Domain Sockets in Java 7 and newer (AF_UNIX), AF_TIPC, AF_VSOCK, and more
Apache License 2.0
438 stars 114 forks source link

Error with com.kohlschutter.junixsocket: junixsocket-common #86

Closed 0xN4TH4N closed 3 years ago

0xN4TH4N commented 3 years ago

Hello, I have this error; https://pastebin.com/APKU8veW While I do have the dependencies, here is my pom.xml; https://pastebin.com/C1iXvCed can you help me ? Thank you

kohlschuetter commented 3 years ago

Hi Nathan, You have an old 2.0.4 dependency in your POM. The only dependency declaration for junixsocket you should need is

<dependency>
  <groupId>com.kohlschutter.junixsocket</groupId>
  <artifactId>junixsocket-core</artifactId>
  <version>2.3.2</version>
</dependency>
0xN4TH4N commented 3 years ago

Hello, no, if I put only one dependency so the one you sent me, it gives me this error: https://pastebin.com/RzREUXfT

kohlschuetter commented 3 years ago

I see. It looks like your version of "docker-java" points to an outdated version of junixsocket (2.0.4), and that conflicts with your dependency on 2.3.2.

When you run "mvn dependency:tree" (or the equivalent in Eclipse, etc.) you will see which Maven artifacts include the outdated junixsocket version. You can then use dependency "exclusions" (see for example here) around the offending declaration.

However, in your case, it could be as simple as bumping the version for docker-java from 3.0.14 to 3.2.7.

PS: Usually it's a good practice to use the same version for all artifacts of one project. Your POM uses three different ones for docker (3.0.14, 3.2.3, 3.2.7), and that may cause additional problems.

If you specify the version in a property (e.g., <docker.version>3.2.7</docker.version>), then you can actually use that property in the version field, i.e., <version>${docker.version}</version>