我正在尝试使用Maven在Eclipse(Juno)中顺利运行一些本机依赖项(LWJGL)。
现状:
maven-nativedependencies-plugin
版本0.0.6。这似乎成功地将本机库下载并解压缩到我项目的target/natives
子目录中。好到目前为止。target/natives
Properties / Java Build Path / Maven Dependencies / Native Library Location / Edit...
目录来使依赖项工作
Maven / Update Project...
时它就会中断,因为本机库位置已被清除(可能是m2e根据pom重新配置项目)让这种工作可靠地运行的最佳方法是什么?
答案 0 :(得分:5)
尝试以下步骤;
对于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控制台并再次执行“更新项目配置”选项
答案 1 :(得分:4)
在我的应用程序中,我需要来自MS的sqljdbc4.jar。我的项目是一个Maven项目,所以我遇到了同样的问题,我无法编辑Eclipse中sqljdbc4.jar下的Native Library Location。
我的错误是:
无法加载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参数中。
-Djava.library.path="C:\Documents and Settings\ccrhlj01\My Documents\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\auth\x86"
。记住路径周围的引号。在我的情况下,这是我的位置,你需要找到你的DLL位置。
答案 2 :(得分:0)
实际上,您可以将dll复制到PATH变量上的任何目录,例如:C:\ Windows \ System32。这样,您就不必在Eclipse的VM参数选项卡中添加参数。