MacOS: Java/JDK setup
Some Java distributions for MacOS are incompatible with the tool.
If you get a fatal error after login, this is most likely due to an incompatible Java version.
Starting April 2019, Oracle Java requires licensing for commercial use. Hence, the download at https://www.java.com/nl/download/ (first hit of Google) is outdated and also limited to personal or demonstration use.
If you intend to use the application commercially, and you don’t have a Java license, we recommend installing OpenJDK, for which Adoptium (Eclipse foundation, used to be AdoptOpenJDK) provides a distributable at
A complete JDK can also be download at https://jdk.java.net/.
Removing other versions of Java/JDK (if applicable)
If a specific version of Java is not required for other applications, we recommend removing any previous installs of Java.
Otherwise you will have to specify which Java runtime to use, see section 11.3 Create a command script to use the correct Java version (Optional)
Please refer to the documentation of your specific MacOS version on how to uninstall apps.
Advanced users might find inspiration here:
https://explainjava.com/uninstall-java-macos/
Installing a compatible version of Java
You can select the latest
or you can manually select a more compact JRE distributable (36 MB): (ohter platforms)
Select macOS as operating system, the correct architecture and then either choose the package .pkg file (recommended) or the tar.gz file for manual installation (not further explained in this document):
For the .pkg file, run it and follow the suggested instructions. Run “java -version” in a terminal to make sure the correct version of java is now the default.
Instructions for installing the tar.gz can be found here:
https://adoptium.net/installation/archives/#_macos
We recommend using the folder /Library/Java/JavaVirtualMachines for any JDK install.
Create a command script to use the correct Java version (Optional)
If you want to keep other Java versions, or if you need specific options to avoid memory issues, you must create a command script.
Open a text editor, create a “fieldsoftware.command” file, in the same folder where you placed the jar file, and add the following to the file:
<path-to-installed-jre-java> -jar <path-to-MAPEO-Field-Software.jar>
Renaming the MapEO-Field-Software-<version>.jar to MAPEO-Field-Software.jar avoids having to edit this batch file each time there is an update of the software. However, this is not recommended.
An example of a macOS cmd line is given below:
/Library/Java/JavaVirtualMachines/temurin-11.jre/Contents/Home/bin/java -jar /Users/johndoe/Desktop/MAPEO-field-software.jar
Before the cmd file can be executed, you need to set the permission rights for the file, using the “chmod” command in a terminal window:
chmod 755 <path-tofieldsoftware.command>
Double-clicking on the command file will start the application.
If the application fails to start:
- Right click on the command file.
- Scroll down to the "Open With" section and set it to “Terminal”.
- If “Terminal” is not listed as an option, select "Other..." from the menu and browse to Terminal (which can be found in Applications - Utilities).
- Next, click the "Change All" button, and as of now each ".command" file will be opened with Terminal and the script will be executed.
If you experience memory issues (heap space warnings):
- Make sure to shut down the application and save your files.
- Try using “java -Xmx1024m” or “java -Xmx2048m” in the command line if your system has more than 1GB or 2GB of memory respectively.
Solving a crash of the tool after login
If you have previously tried opening the Field Software with an incompatible java version on macOS, you may see this error:
Application Specific Information:
/usr/lib/libcrypto.dylib
abort() called
Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI.
Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff6cb19dfa mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff6cb1a170 mach_msg + 60
2 com.apple.CoreFoundation 0x00007fff327da785 __CFRunLoopServiceMachPort + 247
3 com.apple.CoreFoundation 0x00007fff327d9252 __CFRunLoopRun + 1319
4 com.apple.CoreFoundation 0x00007fff327d86ce CFRunLoopRunSpecific + 462
5 com.apple.HIToolbox 0x00007fff31404aad RunCurrentEventLoopInMode + 292
6 com.apple.HIToolbox 0x00007fff314047c5 ReceiveNextEventCommon + 584
7 com.apple.HIToolbox 0x00007fff31404569 _BlockUntilNextEventMatchingListInModeWithFilter + 64
8 com.apple.AppKit 0x00007fff2fa4d659 _DPSNextEvent + 883
9 com.apple.AppKit 0x00007fff2fa4bea0 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
10 libosxapp.dylib 0x000000011bf1d96a -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
11 com.apple.AppKit 0x00007fff2fa3dbae -[NSApplication run] + 658
12 libosxapp.dylib 0x000000011bf1d739 +[NSApplicationAWT runAWTLoopWithApp:] + 185
13 libsplashscreen.dylib 0x000000011bf00736 __SplashInitPlatform_block_invoke + 70
14 JavaNativeFoundation 0x00007fff370f8ff9 +[JNFRunLoop _performCopiedBlock:] + 15
15 com.apple.Foundation 0x00007fff34eb1b4d __NSThreadPerformPerform + 204
16 com.apple.CoreFoundation 0x00007fff327da5e2 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
17 com.apple.CoreFoundation 0x00007fff327da581 __CFRunLoopDoSource0 + 103
18 com.apple.CoreFoundation 0x00007fff327da39b __CFRunLoopDoSources0 + 209
19 com.apple.CoreFoundation 0x00007fff327d90ca __CFRunLoopRun + 927
20 com.apple.CoreFoundation 0x00007fff327d86ce CFRunLoopRunSpecific + 462
21 libjli.dylib 0x000000010f4b5d12 CreateExecutionEnvironment + 402
22 libjli.dylib 0x000000010f4b1745 JLI_Launch + 1493
23 java 0x000000010f4a1c16 main + 406
24 libdyld.dylib 0x00007fff6c9d8cc9 start + 1
If you experience Field Software configuration problems, you may see this error:
To solve the above errors, you need to remove the configuration information of the software.
- If you’ve only started the application once, you can delete the installation folder completely.
- In case you’ve used the software before and want to keep your existing missions, only delete the (user-specific) config file!
To remove the installation folder, locate the “MapEO Field Software” folder and delete it.
To remove the config file, locate the “config.xml” file and delete it.
To locate and remove the installation folder or config file, you can either use the GUI or a terminal, as described in the section below.
After removal, you can retry to start the tool with a compatible java version (see previous sections).
Browsing to the configuration folder using the GUI
Open the MacOS file explorer (Finder):
Go to the home folder:
Hold down the Command, Shift and Period keys: cmd + shift + [.] to see hidden files.
The “.Mapeo Field Software” folder should appear. If you’ve only started the application without really using it, you may delete the folder completel. Otherwise only delete the config.xml file to keep old jobs.
Browsing to the configuration folder using the terminal
You can also use a terminal to remove the folder or files, for more details, see for example:
https://www.pcmag.com/how-to/how-to-access-your-macs-hidden-files