maven插件安装:安装文件错误

时间:2012-06-08 07:15:33

标签: java maven

我使用install:install-file将jar安装到我的本地存储库。我的pom.xml编写如下:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.3.1</version>
<executions>
    <execution>
    <id>install-paho</id>
    <phase>generate-resources</phase>
    <goals>
        <goal>install-file</goal>
    </goals>
    <configuration>
        <file>${basedir}/lib/paho.jar</file>
        <groupId>org.eclipse</groupId>
        <artifactId>paho</artifactId>
        <version>1.0.0</version>
        <packaging>jar</packaging>
    </configuration>
    </execution>
</executions>
</plugin>

你可以发现我将它绑定到阶段'generate-resources'。然后,我使用命令mvn eclipse:eclipse。它工作得非常好,jar被复制到我的本地存储库。但是当我使用order {时{1}}我收到错误:

mvn install:install-file

使用[ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.3.1:install-file (default-cli) on project xxx: The parameters 'file' for goal org.apache.maven.plugins:maven-install-plugin:2.3.1:install-file are missing or invalid -> [Help 1]

时的错误消息
mvn compile

1 个答案:

答案 0 :(得分:8)

由于您已将install:install-file目标绑定到generate-sources阶段,因此您应该运行mvn compilemvn install等来使用已定义的配置。

mvn eclipse:eclipse有效,因为maven在调用generate-sources之前运行eclipse:eclipse阶段。

修改:从评论中看,您希望在项目中使用本地可用的paho.jar,方法是首先将其安装到generate-sources阶段的本地仓库中,之后在项目中将其用作dependency

由于maven在开始执行其生命周期目标之前检查dependencies的可用性,因此无法正常工作。

您可以在pom的上下文之外使用mvn install:install-file一次性手动安装它。更好的是,您可以将其部署到repository manager,然后像任何其他依赖项一样访问它。

但是,如果您仍想沿着这条路走下去,另一种方法是使用提供jar路径的system范围来指定依赖关系。请参阅this

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>org.eclipse</groupId>
      <artifactId>paho</artifactId>
      <version>1.0.0/version>
      <scope>system</scope>
      <systemPath>${basedir}/lib/paho.jar</systemPath>
    </dependency>
  </dependencies>
  ...
</project>