我有一个 maven 项目,我正在构建一个 docker 映像(使用 fabric8 docker-maven-plugin)。
作为构建的一部分,我想编译一个简单的 C 类:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
setuid( 0 );
system( "/usr/sbin/update-ca-certificates");
return 0;
}
到一个二进制文件中,该二进制文件将在 Maven 构建期间复制到 Docker 映像中。
最好的方法是什么?我知道至少有几个 maven 插件,但不确定我应该使用哪个,以及我需要哪些选项?maven 构建可以在 Windows、Linux 或 Mac 上运行,但生成的二进制文件只能在 Linux (Opensuse) 上执行。
https://www.mojohaus.org/maven-native/native-maven-plugin/
https://github.com/maven-nar/nar-maven-plugin
例如,上面 2 个插件似乎需要pom.xml 顶层的<packaging>so</packaging>
or元素,但我的 pom.xml 已经有一个?上述插件是否应该在他们自己的 pom.xml 中进入一个 maven 子模块项目?<packaging>nar</packaging>
<packaging>pom</packaging>