Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maven without Internet connection

I'm new to maven project. I'm changing an ant project to maven project. To install the 3rd party jar's in maven local repository, I used install command. Its trying to download the resource jar.pom. I don't have download access in my organization so the build failed for installtion. After request i got the resouce jar and clean jar in my desktop(also i can get other necessary jar). How to make maven to use these jar for the process and how to install the jar in local repository without internet acess.

I downloaded the jar and placed in local repository but it couldn't point the path and use those jars.

please let me know what steps i have follow to run maven install and other commands to build the project without internet access.

where should i placed the jar which i have downloaded by external way.

Please guide me for building and deploying the project.

Thanks in advance.

http://maven.40175.n5.nabble.com/Maven-installation-and-using-in-project-without-Internet-conncetion-tp4564443p4564443.html. http://www.coderanch.com/t/544641/Jobs-Offered/careers/Maven-installation-project-without-Internet#2471141

I've posted same question in these link

like image 435
Krishna Moorthy Seetha Raman Avatar asked Jul 07 '11 10:07

Krishna Moorthy Seetha Raman


People also ask

Does Maven work without internet?

Yes, indeed, you can run Maven offline and you can have Maven produce a local repository for you to use when you are in offline mode.

What is MVNW dependency go-offline?

In order to prepare for offline mode, we can use the go-offline goal from the maven-dependency-plugin: mvn dependency:go-offline. This goal resolves all project dependencies — including plugins and reports and their dependencies. After running this goal, we can safely work in offline mode.

Which of the following command is used to build a project offline in Maven?

mvn -o package This command is used to run the maven build in the offline mode.


4 Answers

You need an internet connection. Maven isn't initially self-sufficient. It needs to download a bunch of plugins along with their dependencies and the dependencies of your own project. And this really depends on what sort of settings you have for your projects. One set up will require one set of dependencies, another - a whole different one. You can't download artifacts from the Maven Central manually and then install them locally one by one. Simply put, that sounds stupid.

I understand that you're coming from the Ant world where Ant has everything it needs on the local file system. However, Maven relies on the fact that it will have a central repository (either Maven Central, or your own repository - Nexus, Artifactory, etc.) from which to download the plugins and dependencies it needs. There is no point in you migrating to Maven, unless you'll be allowed access to the Central Maven Repository.

Yes, indeed, you can run Maven offline and you can have Maven produce a local repository for you to use when you are in offline mode. However, what you're trying to do is against Maven's principles.

If your company won't allow access to Maven Central, just stick to Ant. Your effort will be a waste of your company's and, ultimately, your own time.

like image 140
carlspring Avatar answered Oct 15 '22 15:10

carlspring


In fact the maven strenght is mainly in the internet accessible repositories and automatic dependency management. But it's possible to use this tool to build your project if you have all dependencies required for your project in your local repository. Then you may use -o option for offline mode and maven will not try to download updated artefact versions.

To get the artifacts into you local repository you have several options:

1) connect to the internet once and mvn build the project (this will download all required dependencies)

2) install dependencies as jar to the local repository manualy (using appropriate mvn command)

like image 23
Martin Vejmelka Avatar answered Oct 15 '22 13:10

Martin Vejmelka


It's possible to install these resource jars in your local maven repo using install-file. This will make the available to the build. You'll have to do this for each individually, but once that's done you won't have to do anything special.

To be clear, maven puts everything in your local repository, both the jar you're building with this project and the various library jars. Because your system cannot be connected to the internet to maven can populate the local repo with your libraries, you'll have to use this manual approach.

Edit: You should be able to run install-file anywhere. When you do, you'll need to provide the groupId, artifactId, version, and packaging using the command line options. If you already have a POM file for the library, you can provide that instead via -DpomFile=your-pom.xml.

This question has some useful info: How to manually install an artifact in Maven 2?

like image 41
sblundy Avatar answered Oct 15 '22 14:10

sblundy


I think the questioner is looking for -o or --offline option for mvn. This is a command line option and can be provided while executing.

I think you can setup your repo correctly and execute the mvn goals once when you are connected to internet and use the -o option for later executions .

Hope this helps.

~Abhay

like image 33
Abhay Dandekar Avatar answered Oct 15 '22 15:10

Abhay Dandekar