我有一个使用LWJGL的项目,我想将所需的jar和相关的本机文件复制到生成的jar的输出目录中。我不想把依赖项注入最终的jar本身。
我可以运行mvn package
和mvn 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>