1

Maven と NAR プラグインを使用して DLL をビルドおよびテストしようとしています。私が構築している DLL は、NAR プラグインを使用して構築した別の DLL に依存しています。これが私のPOMです:

<project>  
  <modelVersion>4.0.0</modelVersion>  

  <groupId>com.mycompany</groupId>  
  <artifactId>myproject</artifactId>  
  <packaging>nar</packaging>  

  <name>My Project</name>  
  <version>1.0.0-SNAPSHOT</version>  

  <properties>  
    <skipTests>true</skipTests>  
  </properties>  

  <build>  
    <defaultGoal>install</defaultGoal>  
    <plugins>  
      <plugin>  
        <groupId>org.codeswarm</groupId>  
        <artifactId>maven-nar-plugin</artifactId>  
        <version>20121119</version>  
        <extensions>true</extensions>  
        <configuration>  
          <cpp>  
            <defines>  
              <define>DLLEXPORT</define>  
            </defines>  
          </cpp>  

          <libraries>  
            <library>  
              <type>shared</type>  
            </library>  
          </libraries>  

          <tests>  
            <test>  
              <name>ProjectTest</name>  
              <link>shared</link>  
            </test>  
          </tests>  
        </configuration>  

      </plugin>  
    </plugins>  
  </build>  

  <dependencies>  
    <dependency>  
      <groupId>com.mycompany</groupId>  
      <artifactId>shared-library</artifactId>  
      <version>1.0.0-SNAPSHOT</version>  
      <type>nar</type>  
      <scope>runtime</scope>  
    </dependency>  
  </dependencies>  

</project>

依存関係を削除するcom.mycompany:shared-libraryと、呼び出したいコードも削除され、正常に動作します。ProjectTest正常に動作し、想定どおりに動作します。しかし、依存関係が存在すると、maven は を見つけることができないため、テストを実行できませんshared-library。エラーでクラッシュします0xc0000135

Maven をデバッグ モードで実行すると、テストをコンパイルすると、両方の DLL のヘッダー ファイルのインクルード パスがコンパイラ コマンドに正しく追加されることがわかります。テストをリンクすると、両方の DLL のエクスポート ライブラリがリンカー コマンドに正しく追加されます。問題は、Maven がテストを実行するときに発生します。Maven は DLL へのパスをシステム パスに追加しようとしますが、これを実行しますが、パスをmyprojectDLL に追加するだけです。shared-libraryDLLへのパスは追加されません。したがって、クラッシュ。

これは maven-nar-plugin の既知の問題ですか? また、NAR プラグインのいくつかのフォークが浮かんでいることを示唆していると聞いたことがあります。この問題は、私が使用しているプラ​​グイン以外のバージョンで修正される可能性がありますか? または、推奨できる回避策はありますか?

4

1 に答える 1

0

これが既知の問題であることを発見しました: https://issues.sonatype.org/browse/NAR-189

于 2012-12-19T17:08:02.737 に答える