Change Maven repository that NetBeans uses - maven

I'm using Ubuntu and I already had an installation of Maven in usr/share/maven and the projects that I install go into repository which is at /root/.m2/repository. Then I installed NetBeans which has it's own Maven in NetBeans/java/maven and it is referring to a repository that it created in /home/user/.m2/rep.
How do I make my NetBeans use "/root/.m2/repository" instead of the other one.
I tried looking into services and looked to change the path to repository, but it's not letting me.

there are 2 files influencing the local repository location.
~/.m2/settings.xml - this one is per user, thus all maven installations on the computer will use it.
${maven.home}/conf/settings.xml - this one is private to given maven installation
Netbeans uses by default the maven installation defined in it's own installation directory (it ships with it) but you can change that in Tools/Options/Maven and with your custom maven installation, it will start using your ${maven.home}/conf/settings.xml. However please note that the installations customized by various linux distributions can sometimes reshuffle where files are located. I would always recommend to use maven binaries downloaded straight from apache website.

Related

Set Debian control file properties when deploying to Artifactory

I'm building a binary Debian archive with Maven, using org.vafer.jdeb plugin to create the .deb and maven-deploy-plugin plugin to deploy the archive on Artifactory.
The archive is correctly built (with control file and its mandatory fields). Nevertheless, when deployed to Artifactory, properties as deb.distribution, deb.component, deb.architecture, etc... are not set ; the archive can't be found.
Any idea on how to set the properties ?
Can you please specify to which repository type are you deploying?
Since this is a .deb file, in order for Artifactory to produce the right metadata for it, you will need to use Debian repositories. Since you are deploying using Maven, it sounds like you deploy the artifacts to a Maven repository which could cause the metadata to be calculated differently.
I recommend maybe adding a promotion step to copy/move these files from the Maven repository to a Debian repository and check whether this step adds the properties.
I hope this helps and clarifies further.

Use Maven to start programs

I apologize if this sounds to simple (or the fact that there are other links that define this problem) - but I'm a complete beginner to Maven and even Java.
All that I'm trying to do is to run this code to see what it does:
https://github.com/semanticvectors/semanticvectors/wiki/GettingStarted
The Wiki says that uses can either download the .jar file or use the maven repo. I downloaded their .jar file and tried to run it but failed. I use this code:
java -jar /home/user/semanticvectors-5.6.jar
That .jar file didn't work for me and from other stackoverflow links, it seems that either the .jar file is not setup properly or I have a non-compatitble java version.
In any case, I've decided to try using Maven to get this running. I've installed Maven using:
sudo apt-get install maven
It seems to be working as everything was successful in setup. But now I'm not too sure what to do after. This Wiki (linked above) as go to this Maven repo site (https://oss.sonatype.org/#nexus-search;quick%7Esemanticvectors). To my understanding (and correct me if I'm wrong) I thought Maven is a super repository for developers and testers to work from the same code, so I thought I could use Maven as an alternative to running to program. Anyways, I'm open to any suggestions to get the program running to see what it does, thanks.
If you're interested in knowing more about me: I'm running a 16.04 Ubuntu system with Java 8.
The idea is that you can either build the JAR yourself - get the source from SVN and build it (using maven commands, as maven is a build tool), or you can use the existing JAR that is already "prepared" and ready for use in the maven-repository (nexus, in this case).
The result should be the same - if you use the JAR as a dependency in your code (add it to your pom.xml) or if you build it yourself.
You can learn more about Maven and things will be much clearer...

maven + elicpse related questions

Forgive me asking following questions. I am totally lost in regards to maven+eclipse. I checked out someone's java project (maven built) from SVN to my local eclipse (kepler). When I click Windows > Preferences, I see Maven.
question 1)
Is this a maven plugin? When developers say maven in eclipse, are they referring to maven plugin? maven and maven plugin are two separate components?
question 2)
when I click on user settings, C:\Users\myName.m2\settings.xml is missing. Exact error message is "User settings file doesn't exist". Does it get created when you install maven plugin at first time?
question 3)
I found three folders may have to do with maven C:\workspace\maven_local_repo_artifactory directory, C:\maven_local_repo and C:\Users\myName.m2\respository but not sure how they get created and what is the relationship among them.
question 4)
Is it ok to remove current maven plugin from eclipse and re-install it then check out the java project from SVN? I think my maven or maven plugin settings are not correct in my local box.
1) Is this a maven plugin? When developers say maven in eclipse, are
they referring to maven plugin? maven and maven plugin are two
separate components?
Yes. This is the maven-plugin. maven-plugin uses the configurations of maven (%M2_HOME%/conf).
If you wanna work with maven, you need to install it on your machine. Then you can run maven commmands. In addition, if you want to invoke maven commands within eclipse (conveniently) - you can install the eclipse-plugin. "maven-plugin" is a plugin for eclipse, that lets you use maven within Eclipse conveniently.
2) when I click on user settings, C:\Users\myName.m2\settings.xml is
missing. Exact error message is "User settings file doesn't exist".
Does it get created when you install maven plugin at first time?
By default, the maven-plugin assumes that your settings.xml (which is the configuration file of maven) is in the path you have mentioned. However, there are cases (like in my case) where the config file is not there, but under %M2_HOME%/conf. you can update it in Eclipse, and the error will disappear.
3) I found three folders may have to do with maven
C:\workspace\maven_local_repo_artifactory directory,
C:\maven_local_repo and C:\Users\myName.m2\respository but not sure
how they get created and what is the relationship among them.
C:\Users\myName.m2\respository is the "local repository". If you learned a bit about how maven works, it holds a local repo on the local machine, and it keeps there all artifacts. It downloads them from the "repository" - if you have one in your company (Nexus, Artifactory, etc) or from Maven Central. However, this path is configurable by Maven's settings. So there might be that someone played with it and changed the path, and these other directories were created. You did not mention what resides inside these paths...
4) Is it ok to remove current maven plugin from eclipse and re-install
it then check out the java project from SVN? I think my maven or maven
plugin settings are not correct in my local box.
Sure it is OK. You may remove the plugin, and the source plus maven itself will not be deleted from your machine.
HTH.

how to manually install maven plugins, dependencies

i have installed Apache Maven 2.2.1, but this server doesn't have internet connection. So maven couldn't install basic plugins. Can i do it manually, could someone tell my how to do it, please.
I would suggest to do the needed build on a machine which has internet access and transfer the local maven repository later to the target machine.
Or better solution using a repository manager where this machine has access to which solves the problem completely.
http://mvnrepository.com/
Go to the MvnRepository, search for the one you need and download the binary. Store it in the appropriate local maven repository directories to be pulled in from there or manually add a reference to wherever you store the .jar

Trouble with maven in Netbeans

I want to create maven project in Netbeans. So, I do File->New project->Maven->Java Application. After that I try to build the project and get error:
The POM for org.apache.maven.plugins:maven-surefire-plugin:jar:2.10 is missing, no dependency information available.
But I can build this project from command line with mvn compile. Could uou tell me what is the problem with Netbeans?
NetBeans is using 3.0.4 maven by default. Unless you change that in Tools/Options menu. Are you building with 3.0.4 as well or are you using some earlier versions (2.x)?
That would explain the behaviour because 3.0.4 will not blindly rely on what artifact is in local repository but some additional metadata is also consulted to make sure your project build with the given set of defined repositories.
A common example when the problem occurs to me.
I use central directly everything downloads. when I later add a mirror, all artifacts are checked again through the mirror to make sure they are accessible. if teh Mirror doesn't actually mirror central, I get an error that way.
Another common example is: when building with 2.x, the additional metadata is not written, when later building with 3.0.4, all remote context is checked no matter what is present in local repo and the additional metadata files are constructed.

Resources