Java Maven将本机添加到库路径
我想通过Maven将LWJGL包括在我的项目中。我得到了Java Maven将本机添加到库路径,java,maven,lwjgl,pom.xml,Java,Maven,Lwjgl,Pom.xml,我想通过Maven将LWJGL包括在我的项目中。我得到了.jar文件,但是本地人不在类路径中 在谷歌的帮助下,我发现我应该使用mavenatives,以便自动提取和复制本地人。但是,mavenatives只会找到以native-开头的本地人,而LWJGL本地人的名字都是{artifactId}-{version}-natives-{os}.jar 问题:如何让Maven导入具有专有名称的依赖项并提取这些本地人 Mypom.xml: <project ... > ...
.jar
文件,但是本地人不在类路径中
在谷歌的帮助下,我发现我应该使用mavenatives
,以便自动提取和复制本地人。但是,mavenatives
只会找到以native-
开头的本地人,而LWJGL本地人的名字都是{artifactId}-{version}-natives-{os}.jar
问题:如何让Maven导入具有专有名称的依赖项并提取这些本地人
Mypom.xml
:
<project ... >
...
<build>
<plugins>
...
<plugin>
<groupId>com.googlecode.mavennatives</groupId>
<artifactId>maven-nativedependencies-plugin</artifactId>
<version>0.0.7</version>
<executions>
<execution>
<id>unpacknatives</id>
<goals>
<goal>copy</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
...
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl</artifactId>
<version>3.0.0a</version>
</dependency>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-platform</artifactId>
<version>3.0.0a</version>
<classifier>natives-linux</classifier>
</dependency>
<dependency>
<groupId>org.lwjgl</groupId>
<artifactId>lwjgl-platform</artifactId>
<version>3.0.0a</version>
<classifier>natives-windows</classifier>
</dependency>
</dependencies>
</project>
...
...
com.googlecode.mavenatives
maven nativedependencies插件
0.0.7
本地人
复制
...
org.lwjgl
lwjgl
3.0.0a
org.lwjgl
lwjgl平台
3.0.0a
本地linux
org.lwjgl
lwjgl平台
3.0.0a
本地人窗口
来自插件的:
这个插件使用一个以本地人-
开头的分类器来解压每个依赖项
这正是您的用例,文档指向元素,在您的示例中是natives linux
或natives windows
根据文件,这些案件将被处理:
这是默认值,当启用分隔符时,插件会将每个本机依赖项解压到与其分类器类似的nativeTargetDir的子目录(例如:natives-windows
将转到target/natives/windows
)
实际上,整个库的jar是{artifactId}-{version}-natives-{os}.jar
的形式,但在Maven中,分类器正是{version}
和文件扩展名之间的字符串:在本例中,natives-{os}
,由本地人开始,因此由库处理。来自插件的:
这个插件使用一个以本地人-
开头的分类器来解压每个依赖项
这正是您的用例,文档指向元素,在您的示例中是natives linux
或natives windows
根据文件,这些案件将被处理:
这是默认值,当启用分隔符时,插件会将每个本机依赖项解压到与其分类器类似的nativeTargetDir的子目录(例如:natives-windows
将转到target/natives/windows
)
实际上,整个库的jar是以
{artifactId}-{version}-natives-{os}.jar
的形式存在的,但在Maven中,分类器恰恰是{version}
和文件扩展名之间的字符串:在这种情况下,natives-{os}/code>,它由natives
开始,因此由库处理。好的,这是否意味着它应该按照我设置的方式工作?但是为什么它不起作用呢?你是如何调用maven的?你看到插件作为你构建的一部分被执行了吗?我在intellij中使用它。但是当我刚刚运行Maven Build时,插件没有被执行。。。。单独执行插件有助于Edokay,这是否意味着它应该按照我设置的方式工作?但是为什么它不起作用呢?你是如何调用maven的?你看到插件作为你构建的一部分被执行了吗?我在intellij中使用它。但是当我刚刚运行Maven Build时,插件没有被执行。。。。单独执行插件有帮助