1

追加のアーティファクトを添付した後、インストールファイルとデプロイファイルをpomに追加する必要がありますか?アーティファクトを正しく追加したと思いますが、Mavenは、アーティファクトが存在しない場合でも、アーティファクトはすでに存在していると考えているようです。

attach-artifactを介して追加のアーティファクトをpomに追加した後、mavenがファイルをコピーしようとし、ローカルリポジトリmaven-metadata-local.xmlにファイルを一覧表示しますが、ファイルは変更されていないように見えるため、コピーされません。

参考までに-このアーティファクトはアセンブリプラグインによって生成され、ビルドヘルパーを削除すると、Mavenはアーティファクトをコピーしようとさえしません。

何かアイデアがあれば教えてください。

ありがとう

ピーター

デバッグログ

[INFO] Installing ./trunkProject/modules/mymodule/target/dist/added-artifact-lin64-1.0.0.59258.tar.gz 
    to ./m2repo/corp/prod/modules/mymodule/1.0.0-SNAPSHOT/added-artifact-1.0.0-SNAPSHOT-dist.tar.gz
[DEBUG] Skipped re-installing ./trunkProject/modules/mymodule/target/dist/aie-module-mymodule-lin64-1.0.0.59258.tar.gz 
    to ./m2repo/corp/prod/modules/mymodule/1.0.0-SNAPSHOT/added-artifact-1.0.0-SNAPSHOT-dist.tar.gz, 
    seems unchanged

Pom.xml

            <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.7</version>
        <executions>           
            <execution>             
                <id>attach-distribution-artifact</id>             
                <phase>package</phase>             
                <goals>               
                    <goal>attach-artifact</goal>             
                </goals>            
                <configuration>
                  <artifacts>
                    <artifact>
                      <file>${distTop}/${assemblyFinalName}-${real.os.full}-${prod.version}.${svn.revision}.tar.gz</file>
                      <type>tar.gz</type>
                      <classifier>dist</classifier>
                    </artifact>
                  </artifacts>
                </configuration>          
                </execution>         
        </executions>             
    </plugin>

アセンブリファイル

<assembly>
  <id>dist</id>
  <formats>
    <format>${distCompressed.ext}</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${kitTop}</directory>
      <excludes>
        <exclude>**/Thumbs.db</exclude>
      </excludes>
      <outputDirectory>/</outputDirectory>
    </fileSet>
  </fileSets>

4

1 に答える 1

2

問題は、操作の単純な順序でした。アセンブリはインストールフェーズ中に生成されたため、インストーラープラグインがアセンブリを見つけることができませんでした。これがどのようにビルドヘルパーをブロックしたかについての証拠はありませんが、アセンブルプラグインが接続され、インストーラーがアイテムのインストールと記録に失敗したと思われます。build-helpが実行されたとき、どのインストーラープラグインがすでに試行したかを実行しようとしていた可能性があります。

解決

  • ビルドヘルパーを削除します
  • アセンブリプラグインフェーズをインストールからパッケージに変更し、インストール前にアーティファクトが存在することを確認します
  • pomのmaven-assembly-plugin構成でappendAssemblyIdをtrueに設定します
于 2012-11-14T20:38:59.120 に答える