3

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」にバインドしていることがわかります。次に、order を使用しますmvn eclipse:eclipse。非常にうまく機能し、jar がローカル リポジトリにコピーされました。しかし、order を使用する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

[ERROR] Failed to execute goal on project android-engine: Could not resolve dependencies    for project com.youku.wireless:android-engine:jar:1.0-SNAPSHOT: Could not find artifact org.eclipse:paho:jar:1.0.0 in spring-milestone (http://maven.springframework.org/milestone) ->   [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1]     http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
4

1 に答える 1

10

install:install-file目標をフェーズにバインドしたので、定義された構成を使用するには、またはそのようなものをgenerate-sources実行する必要があります。mvn compilemvn install

mvn eclipse:eclipsegenerate-sourcesを呼び出す前にmaven がフェーズを実行するため、機能しeclipse:eclipseます。

編集:コメントから、最初にフェーズでpaho.jarローカルリポジトリにインストールしてからプロジェクトで使用することで、プロジェクト でローカルに利用できるものを使用したいようです。 generate-sourcesdependency

dependenciesMaven はライフサイクルの目標の実行を開始する前にの可用性をチェックするため、これは機能しません。

mvn install:install-filepom のコンテキスト外で一度だけ手動でインストールできます。さらに良いのは、それをにデプロイしてから、repository manager他の依存関係と同じようにアクセスすることです。

ただし、それでもこのパスをたどりたい場合は、別の方法systemとして、jar のパスを提供するスコープで依存関係を指定することもできます。これを参照してください。

<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>
于 2012-06-08T09:25:16.057 に答える