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

我的命令有错误吗?

有帮助吗?

解决方案

您需要指出的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

其他提示

据行家的指南安装第三方JAR文件,该命令是:

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

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

现在,在你的背景,你与Sun提供一个罐子战斗你应该阅读与Sun的JAR 页面应对太。在这里,您将学习如何帮助行家为您提供更好的信息有关Sun罐子的位置,以及如何添加Java.net的 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>

我不得不添加包装,这样:

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

如果您使用Windows PowerShell时曾经得到类似的错误,你应该尝试Windows的简单的命令行。我没有发现什么造成这一点,但似乎PowerShell的解释某些Maven的参数。

所有发布的答案都从严格的专家角度正确地讨论了这个问题。我的问题是使用 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 Repo,并在步骤2中输入坐标)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top