Requirements
Minimum requirements
This plugin requires that you meet the following requirements at a minimum:
- Apache Maven 3.8.2 or newer
- Java 11 or newer
While this plugin itself will work with many operating systems and architectures,
you will find that the official releases of protoc
by Google only support mainstream
architectures and operating systems. These are listed below:
Operating system | Supported CPU architectures | Command to check |
---|---|---|
Linux |
|
uname -m
|
Mac OS |
|
uname -m
|
Windows |
|
echo %PROCESSOR_ARCHITECTURE%
|
Other platforms
Android
While technically Linux, Android locks down a number of system calls that the
official build of protoc
will rely on. For this reason, you will need to install
or build a custom version of protoc
, such as the one provided on the Termux
repositories.
Refer to the protocVersion
parameter documentation on the
goals page for how you can override the binary being used.
Windows on ARM
As of right now, no official binaries for aarch64
Windows systems are provided.
You may be able to use x86 emulation to get this to work. To do this, refer to
the Microsoft ARM emulation documentation.
Pass the -Dos.arch=x86_64 -Dos.name=Windows
flag to Maven to force the use of the
amd64 binary for Windows.
Alternatively, you can build protoc
yourself. Refer to the protobufCompiler
parameter documentation on the goals page for how you can override
the binary being used.
BSDs, Linux on unsupported CPUs, MINIX, Solaris, etc
Your best bet is to use a prebuilt version of protoc
for your platform if provided
by your package vendor. Alternatively, you could try binfmt
emulation or QEMU emulation
and pass the -Dos.arch=aarch64 -Dos.name=Linux
flag.
Refer to the protocVersion
parameter documentation on the
goals page for how you can override the binary being used.
You may also try something like docker buildx
and use a cross-platform container to build
on the desired platform. Virtual machines are also an option.