0

私のユーザーは、私のライブラリで簡単に配布できるネイティブ バイナリを求めています。実行時に一時ディレクトリに抽出されるネイティブをjarに配布することで、これを機能させました。

ただし、maven-native-pluginネイティブがjnilib(OS X)、so(Linux)、またはdll(Windows) としてパッケージ化されている必要があります。ファイルをパッケージ化し、それを classifier の下に配布する独自のデプロイ ターゲットがあります。これには特別な分類子が必要なのが少し面倒です。jarnatives

  1. のデプロイを無効にするにはどうすればよいjnilib/so/dllですか?
  2. jar特別な分類子なしで配布するにはどうすればよいですか?
4

1 に答える 1

1

私も同様のことをしていますが、ネイティブ ライブラリを zip ファイル内にパックしています。その後、それらを必要とするアーティファクトで、 maven 依存関係プラグインを使用して zip ファイルをプルして解凍します。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>    
    <executions>
        <execution>
            <id>unzip</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>unpack</goal>
            </goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>foo</groupId>
                        <artifactId>bar</artifactId>
                        <version>1.0.0</version>
                        <type>zip</type>
                        <overWrite>true</overWrite>
                        <includes>**/*.dll</includes>
                        <outputDirectory>${project.build.directory}/natives</outputDirectory>
                    </artifactItem>
                </artifactItems>
            </configuration>
        </execution>
    </executions>    
</plugin>

ご覧のとおり、分類子は使用していません。

于 2013-08-08T22:15:52.393 に答える