【问题标题】:How to manually install an artifact in Maven 2?如何在 Maven 2 中手动安装工件?
【发布时间】:2010-10-01 07:56:21
【问题描述】:

我在尝试使用 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

我的命令有错误吗?

【问题讨论】:

  • 这是什么状态?你的问题解决了吗?

标签: maven-2 installation


【解决方案1】:

您需要为您的工件指明 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

【讨论】:

  • -Dpackaging=jar 或类似的丢失
  • @kaboom 不!默认情况下,包装是jar,所以你不需要在命令中指定这个...
  • @romaintaz kaboom 是正确的;您需要 -Dpackaging=jar (或任何类型),否则您将收到有关“'packaging' is missing”的错误消息。
  • 似乎需要打包参数,除非你提供pom文件。在后一种情况下,包的类型取自 pom。
  • 如果使用 PowerShell,请确保同样使用引号 "-DgroupId=javax.transaction"
【解决方案2】:

根据maven的Guide to installing 3rd party JARs,命令为:

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

您确实需要打包选项。这回答了最初的问题。

现在,在您的上下文中,您正在与 Sun 提供的 jar 作斗争。您也应该阅读Coping with Sun JARs 页面。在那里,您将学习如何帮助 maven 为您提供有关 Sun jar 位置的更好信息以及如何添加 包含 jta-1.0.1B.jar 的 Java.net Maven 2 repository。将此添加到您的 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>

【讨论】:

    【解决方案3】:

    我不得不添加包装,所以:

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

    【讨论】:

    • 我在手动安装 jar 文件时遇到了很多问题,并且在我以这种方式准确输入之前一直失败。现在可以了!
    【解决方案4】:

    【讨论】:

    • 该死的。就是这样。所有 -D 参数必须包含在 `.
    【解决方案5】:

    如果您在使用 Windows PowerShell 时遇到类似错误,您应该尝试 Windows 的简单命令行。我没有找出是什么原因造成的,但 PowerShell 似乎可以解释一些 Maven 的参数。

    【讨论】:

    • 查看上面的 S. Bollweber 答案。至少 TakeCommand 表达了同样的行为。
    • 没有理由拒绝我的回答——S. Bollweber 比我自己晚了几个月回答。
    【解决方案6】:

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

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

    1. 在 Maven 项目中打开“添加依赖项”对话框
    2. 编组一些groupId、artifactId和version填一下,OK。
    3. 依赖项将被添加到 pom.xml 中并出现在 maven项目的“库”节点
    4. 右键Lib节点并“手动安装工件”,填写路径 到罐子里。 Jar 应该安装到本地 Maven 存储库 在第 2 步中输入的坐标)

    【讨论】:

      猜你喜欢
      • 2018-08-02
      • 2013-08-22
      • 1970-01-01
      • 2020-07-10
      • 1970-01-01
      • 2011-04-26
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      相关资源
      最近更新 更多