Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven将本机添加到库路径_Java_Maven_Lwjgl_Pom.xml - Fatal编程技术网

Java Maven将本机添加到库路径

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 ... > ...

我想通过Maven将LWJGL包括在我的项目中。我得到了
.jar
文件,但是本地人不在类路径中

在谷歌的帮助下,我发现我应该使用
mavenatives
,以便自动提取和复制本地人。但是,
mavenatives
只会找到以
native-
开头的本地人,而LWJGL本地人的名字都是
{artifactId}-{version}-natives-{os}.jar

问题:如何让Maven导入具有专有名称的依赖项并提取这些本地人

My
pom.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时,插件没有被执行。。。。单独执行插件有帮助