4

Mavenを使用してEclipse(Juno)でネイティブの依存関係( LWJGL )をスムーズに動作させようとしています。

現在の状況:

  • maven-nativedependencies-pluginバージョン 0.0.6を使用しています。これにより、ネイティブ ライブラリが正常にダウンロードされtarget/natives、プロジェクトのサブディレクトリに解凍されたようです。ここまでは順調です。
  • target/nativesディレクトリを手動で追加することで、依存関係を機能させることができますProperties / Java Build Path / Maven Dependencies / Native Library Location / Edit...
  • ただし、ネイティブ ライブラリの場所を pom のどこにでも指定できるようには見えないため、これは一時的にしか機能しません。特に、Maven / Update Project...ネイティブ ライブラリの場所がクリアされているため (おそらく、pom に従ってプロジェクトを再構成する m2e によって)、実行するたびに壊れます。
  • ネイティブ ライブラリの場所がクリアされるたびに、「java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path」というエラーが表示されます。

これを確実に機能させるための最良の方法は何ですか?

4

3 に答える 3

5

この手順を試してください。

  • Java プロジェクトの実行構成に移動します。
  • Arguments タブを開き、VM Arguments に「-Djava.library.path=target/natives」と入力します。

Maven プロジェクトの場合。

pom.xml が次のようになっていることを確認してください。

      <build>
            <plugins>
                    <plugin>
                            <artifactId>maven-compiler-plugin</artifactId>
                            <version>2.3.2</version>
                            <configuration>
                                    <source>1.5</source>
                                    <target>1.5</target>
                                    <encoding>UTF-8</encoding>
                            </configuration>
                    </plugin>
                    <plugin>
                            <groupId>com.googlecode.mavennatives</groupId>
                            <artifactId>maven-nativedependencies-plugin</artifactId>
                            <version>0.0.6</version>
                            <executions>
                                    <execution>
                                            <id>unpacknatives</id>
                                            <phase>generate-resources</phase>
                                            <goals>
                                                    <goal>copy</goal>
                                            </goals>
                                    </execution>
                            </executions>
                    </plugin>
                    <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-jar-plugin</artifactId>
                            <version>2.3.2</version>
                            <configuration>
                                    <archive>
                                            <manifest>
                                                    <mainClass>${main.class}</mainClass>
                                                    <addClasspath>true</addClasspath>
                                                    <classpathPrefix>lib/</classpathPrefix>
                                            </manifest>
                                    </archive>
                            </configuration>
                    </plugin>
                    <plugin>
                            <artifactId>maven-assembly-plugin</artifactId>
                            <version>2.2.1</version>
                            <executions>
                                    <execution>
                                            <id>bundle-project-sources</id>
                                            <phase>package</phase>
                                            <goals>
                                                    <goal>single</goal>
                                            </goals>
                                            <configuration>
                                                    <descriptors>
                                                            <descriptor>src/META-INF/assembly.xml</descriptor>
                                                    </descriptors>
                                            </configuration>
                                    </execution>
                            </executions>
                    </plugin>
            </plugins>
    </build> 

次に、Eclipse プロジェクトを左クリックし、Maven メニューに移動して、[プロジェクト構成の更新] をクリックします。それでも問題が解決しない場合は、Eclipse コンソール タブで Maven コンソールを開き、「プロジェクト構成の更新」オプションをもう一度実行します。

于 2012-08-15T08:44:16.777 に答える
4

私のアプリケーションでは、MS からの sqljdbc4.jar が必要です。私のプロジェクトはMavenプロジェクトなので、Eclipseでsqljdbc4.jarの下のネイティブライブラリの場所を編集できないという同じ問題がありました。

私のエラーはこれです:

sqljdbc_auth.dll の読み込みに失敗しました原因: java.library.path に sqljdbc_auth がありません

だから私はこれを追加しました:

-Djava.library.path="C:\Documents and Settings\ccrhlj01\My Documents\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\auth\x86"

私のVM引数で。

  • Java プロジェクトの実行構成に移動します。
  • Arguments タブを開き、-Djava.library.path="C:\Documents and Settings\ccrhlj01\My Documents\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\auth\x86"VM Arguments に入ります。

パスを囲む引用符を覚えておいてください。私の場合、それが私の場所です。dll の場所を見つける必要があります。

于 2012-11-27T15:28:01.083 に答える