Skip to content

JEFF Media Developer Blog

Java & Spigot development

Menu
  • Blog
  • Main Website
  • Privacy Policy
Menu

Manually installing .jar files to your local Maven repository

Posted on March 11, 2022 by mfnalex

Sometimes you have a certain .jar file that you need as dependency, but the author of that .jar was too lazy to properly upload it to a public repository. That’s bad, but not a problem. There are two ways to solve this, but only one proper way.

The proper way: install the dependency

The proper way for you to use the dependency is to install it to your local repository. You can do so using the following command:

mvn install:install-file -Dfile=<filename> -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=<version> -Dpackaging=jar

You can basically choose anything you like for <groupId>, <artifactId> and <version>, but of course it makes sense to use something appropiate. For example, if you downloaded a .jar from GitHub made by the user “someuser”, and the .jar is called “somejar-1.0.jar”, you could use this to install it:

mvn install:install-file -Dfile=somejar-1.0.jar -DgroupId=com.github.someuser -DartifactId=somejar -Dversion=1.0 -Dpackaging=jar

Now you can easily add it to your pom.xml:

<dependency>
  <groupId>com.github.someuser</groupId>
  <artifactId>somejar</artifactId>
  <version>1.0</version>
</dependency>

The bad way: using system scope

If you are too lazy or you like to do bad stuff, you can also use the system scope. Just place the .jar somewhere in your filesystem and then specify the path to it using the system scope:

<dependency>
  <groupId>com.github.someuser</groupId>
  <artifactId>somejar</artifactId>
  <version>1.0</version>
  <scope>system</scope>
  <systemPath>/path/to/somejar-1.0.jar</systemPath>
</dependency>

Discord

Join my Discord Server for feedback or support. Just check out the channel #programming-help 🙂

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Recent Posts

  • Three Common Maven Questions
  • Don’t jump off bridges, or: Why you shouldn’t use Exceptions to control code flow
  • Manually installing .jar files to your local Maven repository
  • Why the GPL does NOT directly apply to all Spigot plugins
  • Accessing your main instance from another class

Recent Comments

  1. orbyfied on Obfuscate plugins using allatori
  2. online order medicine on Obfuscate plugins using allatori
  3. online medicine order discount on Obfuscate plugins using allatori
  4. mfnalex on Why the GPL does NOT directly apply to all Spigot plugins
  5. retrooper on Why the GPL does NOT directly apply to all Spigot plugins

Archives

  • March 2022
  • December 2021
  • October 2021
  • August 2021
© 2022 JEFF Media Developer Blog | Powered by Minimalist Blog WordPress Theme
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT