0

我有一个 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>

4

0 回答 0