How to add an external library in maven intellij - java

I copied some code from github and I have a problem with libraries. My code looks like:
When i click on Authentication to add a maven dependency
it shows that there is no results
What I do wrong? Should I install anything before clicking "add maven dependency" ?

Add
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>5.4.0</version>
</dependency>
To your pom.xml
Or just search for another dependency. https://mvnrepository.com/

You need to add maven dependency in pom file:
https://mvnrepository.com/artifact/org.springframework.security/spring-security-core

Related

How to add a fat/uber jar as dependency in pom.xml

I'm newbie on maven.
My question is this:
I have a far jar in nexus, and want to add it as dependency in a pom.xml.
How can I do that?
In nexus there are both the jar and the fat jar.
Inside my pom.xml I'm using:
<dependency>
<groupId>com.xxxxxxxxxxxx.sar</groupId>
<artifactId>kafka-connector</artifactId>
<version>5.0.0-SNAPSHOT</version>
</dependency>
and, of course, it is not downloading the fat jar.
How do I fix that?
Using a classifier is the right way to go:
<dependency>
<groupId>com.xxxxxxxxxxxx.sar</groupId>
<artifactId>kafka-connector</artifactId>
<version>5.0.0-SNAPSHOT</version>
<classifier>fat</classifier>
</dependency>
I would check if the fat is a consumable artifact.
add the dependency to your pom.xml
<dependency>
<groupId>com.xxxxxxxx</groupId>
<artifactId>example-app</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/yourJar.jar</systemPath>

spring-security-core conflicting version issue in build tree

I am trying to install spring-security-core to my project and here's how I am doing it in my pom.xml
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
The issue is that when I build the project I see org.springframework.security.spring-security-core with version 4.2.9.RELEASE in my artifacts instead of 5.0.7.RELEASE. My pom.xml is deep down in my build tree and it's a part of a big spring boot project. artifact spring-security-core is not present in any other pom.xml in my tree.
From what I've read so far it looks like this is happening because something in the parent tree is downloading spring-security-core 4.2.9.RELEASE as a dependency without explicitly mentioning it in their pom.xml. How to debug this problem ?
In one of the parent pom.xml there's a dependency like this :
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.22.RELEASE</version>
</dependency>
Would that explain why spring-security-core old version is getting downloaded ? Any help is appreciated.
Check the dependency tree with this command
mvn dependency:tree
If spring-context-support also has spring-security, you can exclude that from the dependency by adding exclusions
example
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.22.RELEASE</version>
<exclusions>
<exclusion>
<groupId> groupid of the jar to be excluded </groupId>
<artifactId>artifact id of the jar to be excluded</artifactId>
</exclusion>
</exclusions>
</dependency>
Go to the location of parent pom.xml file and as run the command
mvn dependency:tree >> tree.txt
It will create a file with dependency tree. Search for "spring-security-core" you will find which version is downloaded.
There are couple of work around:
You can repeat this to each pom.xml as well to know from where it gets the reference.
If one of the pom referring the version then your dependency will not consider if its got resolve earlier.
Check if any po.xml file referring to any spring security related libraries. If so, what is there version. And if you need then as mentioned by #Vinay, exclude it so your library version gets referred.
If you want to download this version of library then mentioned it at the top, so it gets referred and no other version will downloaded.
There is no relation for spring security with spring-context-code. Refer this maven link.

Why the jersey can't work use jar but maven can?

I use the jersey first in maven. In maven it look like this:
pom.xml:
<!-- jersey -->
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.25.1</version>
</dependency>
and it can run the jersey server.but when I change to use the jar way. It doesn't work!
the jars list:
enter image description here
OK! I fix it by myself. because after the project compile, the jars doesn't put in the target lib. So I put all the jars in the lib,it can work!

How to resolve Microsoft Azure dependencies on Eclipse

I'm trying to follow "How to run a compute-intensive task in Java" tutorial.
However, I'm stuck on the following step:
https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-windows-classic-java-run-compute-intensive-task/#how-to-create-a-java-application-that-performs-a-compute-intensive-task
Eclipse shows an error saying that these dependencies can't be resolved:
import com.microsoft.windowsazure.services.core.Configuration;
import com.microsoft.windowsazure.services.core.ServiceException;
import com.microsoft.windowsazure.services.serviceBus.*;
import com.microsoft.windowsazure.services.serviceBus.models.*;`
I'm using Eclipse and I've downloaded the Azure toolkit for Eclipse.
Here's how my Eclipse project looks like:
The code is simply a copy-paste of TSPSolver.java.
Per my experience, the issue was caused by missing some dependent libraries that you can try to add them via configure the Java Build Path or configure the pom.xml file in the Maven project to resolve it.
For the first way, adding the dependent libraries via configure the Build Path. You can download these libraries and their dependencies from the link.
Right click on the project name, then select Build Path and click Configure Build Path.
Add these jar files via click Add External Class Folder
For the second way, adding the maven dependencies in the pom.xml file.
Convert the current normal Eclipse Project into a Maven project.
Open the pom.xml file in the project and add the below content from link1 & link2.
<dependencies>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-core</artifactId>
<version>0.9.7</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-servicebus</artifactId>
<version>0.9.7</version>
</dependency>
</dependencies>
For those looking now, latest version are as follows:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-storage</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-servicebus</artifactId>
<version>3.6.7</version>
</dependency>

maven/eclipse dependency help please

I just tried to update my JFreeChart in Maven from:
<dependency>
<groupId>jfreechart</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.0</version>
</dependency>
to
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.15</version>
</dependency>
On Maven Project Update - it says it can't find the artifact.
SO I TRIED TO GO BACK by editting the POM again to the old dependency.
Now on Maven Update it still says it can't find 1.0.15 artifact!!!!
In BuildPath>Libraries>Maven Dependencies jFreeChart1.0.15 is still should BUT all buttons are disabled so I can't remove it.
Right click on your project, then click on Maven->Update Project. Should help.
Try to configure your maven plugin to use maven central repository.

Categories

Resources