我如何复制依赖到输出目录与' maven包'



我有一个使用LWJGL的项目,我想将所需的jar和相关的本机文件复制到生成的jar的输出目录中。我不想把依赖项注入最终的jar本身。

我可以运行mvn packagemvn dependency:copy-dependencies,它们都工作得很好。

尝试运行目标"copy-dependencies"是通过在maven-dependency-plugin"如下:

<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/libs
</outputDirectory>
</configuration>
</execution>
</executions>

,再一次,正如这个答案所引用的,得到相同的结果:打包完成,创建了一个jar,但是它旁边没有依赖项。没有记录prepare-package正在发生,或者maven-dependency-plugin正在运行。

我也尝试绑定到其他阶段,如package,validate,test,它们都不会导致执行发生。这是我的pom.xml中唯一的执行。我只有几个插件:

maven-clean-plugin
maven-resources-plugin
maven-compiler-plugin
maven-jar-plugin (with a config declaring its manifest, shown below)
maven-install-plugin
maven-dependency-plugin

提到的配置:

<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>libs/</classpathPrefix>
<mainClass>
xyz.valnet.hadean.HadeanGame
</mainClass>
</manifest>
</archive>
</configuration>

我还有3个配置文件,用于通过设置属性lwjgl-natives和在依赖项中使用的属性来选择使用哪个LWJGL本机。

我的问题主要是:什么事情可能导致这个执行不发生。

<pluginManagement>下列出的插件只会被有自己的pom.xml的子目录下的项目执行

在当前项目中执行的插件应该列出没有<pluginManagement>

修复删除pluginManagement,或者重新组织你的插件,以正确反映哪些插件应该运行,哪些应该用于子项目。

<build>
<plugins>
[...]
</plugins>
<pluginManagement>
<plugins>
[...]
</plugins>
</pluginManagement>
</build>

最新更新