views:

866

answers:

2

I want to add jpoller.jar as a maven dependency, so I edited my pom.xml file to include it:

<dependency>
    <groupId>org.sadun</groupId>
    <artifactId>jpoller</artifactId>
    <version>1.5.2</version>
</dependency>

Now, as expected, when I compile from the command line I get an error because jpoller isn't in any of the repositories I have listed in my pom, nor could I find one for it. Although I could create a repository for it, I'd rather not at this point. Thus, I get the following error:

[INFO] Failed to resolve artifact.

Missing: ---------- 1) org.sadun:jpoller:jar:1.5.2

Try downloading the file manually from the project website.

Then, install it using the command: mvn install:install-file -DgroupId=org.sadun -DartifactId=jpoller -Dversion=1.5.2 -Dpackaging=jar -Dfile=/path/to/file

How can I do this from the M2Eclipse plugin on machines where the maven CLI isn't available?

A: 

The install command automates the creation of a folder structure in ~/.m2 and pom.xml file for the dependency artifact. This can be done manually. OR You can simply copy the ~/.m2/{group}/{artifact} folder from a machine that does have mvn installed.

Edit: This tool will help you find public repositories for a given dependency.

Edit2: See http://maven.apache.org/guides/mini/guide-coping-with-sun-jars.html for an explination of the process of installing dependencies manually. Note that most sun jars are now available in the java.net repository http://download.java.net/maven/2/

Chris Nava
+1  A: 

How can I do this from the M2Eclipse plugin on machines where the maven CLI isn't available?

Well, simply do it from Eclipse. First, get that jpoller jar and save it somewhere on your file system. Then, in Eclipse, from the top bar, Run > Run Configurations... then right-click on Maven Build and configure the New_configuration freshly created:

  • Select an arbitrary Base directory
  • Fill the Goals with install:install-file
  • Add parameters for each required parameters, without the -D prefix (e.g. file as Parameter name and /path/to/file as Value and so on for groupId, artifactId and version).

And run this configuration. Or... just install Maven.

Pascal Thivent
I was expecting something built in, but this will definitely work, and is a useful example for handling other misc. maven issues. Thanks.
Kaleb Pederson