如何在Maven 2中手动安装工件?


96

当我尝试使用Maven 2手动安装工件时,遇到了一些错误。我想使用命令从本地目录安装jar。

mvn install:install-file -Dfile=jta-1.0.1B.jar

但是Maven给出了一个构建错误,内容如下:

Invalid task '.01B.jar': you must
specify a valid lifecycle phase, or a
goal in the format plugin:goal or
pluginGroupId:pluginArtifactId:pluginVersion:goal

我的命令有错误吗?


这是什么状态?您的问题解决了吗?
马特

Answers:


147

您需要指出您的工件的groupId,artifactId和版本:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dpackaging=jar \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true

8
-dpackaging = jar或类似的内容丢失
kaboom 2010年

@kaboom不!默认情况下,包装为jar,因此您无需在命令中指定...
Romain Linsolas,2010年

5
@romaintaz kaboom是正确的;您需要-Dpackaging = jar(或其他类型),否则您将收到有关“缺少'packaging'”的错误。
杰克·埃德蒙兹

3
似乎需要包装参数,除非您提供pom文件。在后一种情况下,包装类型取自pom。
罗曼·林索拉斯

1
如果使用PowerShell,请确保同样使用引号"-DgroupId=javax.transaction"
ankitjaininfo 2013年

38

根据maven的安装第三方JAR指南,命令为:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

您确实需要包装选项。这回答了原始问题。

现在,根据您的情况,您正在与Sun提供的一个罐子战斗。您也应该阅读“ 使用Sun JAR解决”页面。在那里,您将学习如何帮助maven为您提供有关Sun jar位置的更好信息,以及如何添加Java Web站点Maven 2存储库,其中包含 jta-1.0.1B.jar。将其添加到您的settings.xml(非便携式)或 pom.xml(便携式)中:

  <repositories>
    <repository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.java.net/maven/2/</url>
      <layout>default</layout>
    </repository>
  </repositories>

13

我必须添加包装,因此:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true \
  -Dpackaging=jar

手动安装jar文件时遇到很多问题,直到我以这种方式正确键入它为止,它一直失败。现在可以了!
gregturn12 2012年


4

如果使用Windows PowerShell时遇到类似的错误,则应尝试Windows的简单命令行。我没有找到造成这种情况的原因,但是PowerShell似乎在解释Maven的一些参数。


看看上面的S. Bollweber答案。至少TakeCommand表示相同的行为。
马丁2010年

1
没有理由拒绝我的回答– S. Bollweber在我自己几个月后就回答了。
Koraktor 2010年

2

所有发布的答案都应从严格的专家角度正确地进行讨论。我的问题是使用Netbeans作为主要IDE为maven进行此安装。我发现以下文章很有帮助。

感谢以下netbeans论坛文章:http : //forums.netbeans.org/topic22907.html

  1. 在Maven项目中打开“添加依赖项”对话框
  2. 组成一些groupId,artifactId和版本,然后填写它们,确定。
  3. 依赖关系将添加到pom.xml中,并将出现在maven项目的“库”节点下
  4. 右键单击Lib节点并“手动安装工件”,填充jar的路径。将Jar安装到本地Maven存储库中,并在步骤2中输入坐标)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.