【发布时间】:2020-04-19 22:23:08
【问题描述】:
晚上好, 我正在创建一个 Java 项目并尝试使用 maven 构建它。该项目需要 LWJGL 库,此外,我在 pom.xml 中添加了相关的依赖项。但是,我还需要在我的项目中包含本地 LWJGL 库。为此,我在与 src 文件夹相同的分支中创建了一个名为 native 的文件夹,并将本机库放入其中。我使用以下代码告诉 maven 将该文件夹包含在 jar 中:
<resources>
<resource>
<filtering>false</filtering>
<directory>${basedir}/native</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
我使用 maven 资源插件来定义我希望资源在生成的 jar 中的位置(在本机文件夹下)。
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<outputDirectory>${project.build.outputDirectory}\native</outputDirectory>
</configuration>
</plugin>
然后我使用maven package 命令生成jar。在生成的 jar 中一切正常,但我也需要在其中打包我的 LWJGL 库。另外,我尝试使用 maven-assembly-plugin、maven-dependency-plugin 和 maven-shade-plugin。在这三种情况下,jar 库被很好地打包,但我的本地库都被复制到我的 Jar 的根目录中,我无法解释原因。
出于明显的记忆原因,我不希望这种情况发生,并且我不想手动删除它们。
关于如何解决这个问题的任何想法?
提前致谢。
【问题讨论】: