I have recently been exploring using a RPi4 as a desktop. The challenge has been finding ARM compiled versions of the applications I use on my PCs. I was wondering if there was any plan to compile the Cryptomator desktop client for ARM Linux?
Regards,
Nathaniel Fink
1 Like
Unfortunately the Java UI used by Cryptomator is not supported on ARM systems, so it can not be compiled.
There is a command line version called cryptomator-cli which previously worked on ARM, but its currently not supporting the new vault format.
If Cli gets updated, raspberry support would depend on a number of things, eg the provided ARM version of java in Raspbian or whatever distro you are using being compatible.
I too hope one day to see Arm support, as im now doing 75% of my desktop stuff on a Pi4!
If your looking for local file crypto, you can set up Ecryptfs on your home dir-theres pleanty of guides about, but obviously this wont work for your cloud files.
The first thing I tried was Cryptomator-CLI. I had previously got that running on a different machine for Dropbox. But it looks like it hasn’t been updated since 2017.
I tried compiling the cryptomator-develop project using jdk 14 and I think JavaFX. It initially gave me errors but compiled to the end. But when I tried to run it with the linux launch bash script, I got the following error (JavaFX missing). I take it that’s what you were referring to.
Exception in thread “main” java.lang.NoClassDefFoundError: javafx/beans/binding/Binding
at org.cryptomator.common.CommonsModule_ProvideScheduledExecutorServiceFactory.provideScheduledExecutorService(CommonsModule_ProvideScheduledExecutorServiceFactory.java:37)
infeo
May 25, 2020, 2:36pm
4
We released today a new version of the CLI project, which allows to unlock vaults over the terminal:
Hello Community,
Today, we released an important update of the CLI to support vault format 7 .
Now it is also possible to access your vaults on ARM machines again!
The only requirement for usage is that at least JDK 11 is installed on your system.
About the Release
From the point of changes, it is a very small release. To switch the supported vault format from 6 to 7, actually only the dependencies of the CLI needed an update. As you might already noticed from the phrasing, it also mea…
1 Like
forrie
January 11, 2021, 8:48pm
6
So, the CLI will work on a Raspberry PI, but still not the standard application GUI?
infeo
January 12, 2021, 10:36am
7
To my knowledge, yes. See also this issue ticket on our tracker:
I made a small research and the most recent posts regarding JavaFX (the graphical framework used in Cryptomator) and ARM are from 2018 and report some experiments, but nothing stable.
infeo
November 30, 2021, 10:13am
8
A short update:
JavaFX is now available for ARM architectures on unixoid systems. Hence, it is possible now to build Cryptomator for the raspberry pi
2 Likes
@infeo this is wonderful news for me, as i use a pi as a low powered desktop.
ive tried building this a number of times on a pi4 running raspios since 1.6.0 , but always get the same error detecting the platform. I see in the maven repos- arm32 and aarch64 builds.
maven with the -X flag detects the platform as
OS name: "linux", version: "5.10.63-v7l+", arch: "arm", family: "unix"
Is there a compile flag or setting somewhere that could help maven find the correct files?
Could not resolve dependencies for project org.cryptomator:cryptomator:jar:1.7.0-SNAPSHOT: The following artifacts could not be resolved: org.openjfx:javafx-base:jar:${javafx.platform}:17.0.0.1, org.openjfx:javafx-graphics:jar:${javafx.platform}:17.0.0.1, org.openjfx:javafx-controls:jar:${javafx.platform}:17.0.0.1, org.openjfx:javafx-fxml:jar:${javafx.platform}:17.0.0.1, org.openjfx:javafx-swing:jar:${javafx.platform}:17.0.0.1: Failure to find org.openjfx:javafx-base:jar:${javafx.platform}:17.0.0.1 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
Edit: added platform detection from log
I’ve been testing this on a Pi4, with 2 operating systems. RaspberrypiOS 64bit (manually built) and Arch linux using the AUR repository script.
in both cases vaults can be created and unlocked using webdav, but “revealing the vault” in FUSE gives an input/output error.
I have tried with the default unlock path, and also by making an empty folder in home, then specifying the unlock location. no files are shown in the folder when browsing to it manually in a file manager.
Using “ls” on the parent dir, the locked and unlocked folders shows as
drwxr-xr-x 3 pi pi 4096 Feb 3 21:48 asdf
d??? ? ? ? ? ? asdfunlocked
NOTE
I’ve also had FUSE issues with cryptomator-cli on armhf and arm64 ,but they work fine on x64. - Wondering if there is an issue with the fuse adapter working on ARM?
opened 12:37PM - 14 Nov 20 UTC
Thank you for the addition of Fuse , it is working great on my x86/Mint desktop… .
However when I mount my vault on Raspberry pi (debian buster on ARM) with the same settings all files in the vault show as 0 bytes.
Steps to reproduce:
I mount my cloud provider with Rclone.
`rclone mount CloudProvider: ~/Cloudprovider --vfs-cache-mode writes `
I then mount my vault with
`java -jar cryptomator-cli --vault CloudVault=~/CloudProvider/CloudVault --fusemount CloudVault=~/CloudVaultMount`
The vault unlocks and is browseable, but individual files show as 0 bytes and will not open.
Edit : additional info -
1. Mounting with Webdav works fine, all files show correct sizes and are readable.
2. The maven compile was performed on the PI, copying the JAR over to the Mint 20 x86 machine is working fine.
Yes, but we’re working on new FUSE bindings with ARM support. More details in the linked issue
opened 03:49PM - 19 Jan 20 UTC
closed 03:50PM - 08 Dec 22 UTC
type:feature-request
os:mac
os:linux
misc:installer
I am trying to build with
`mvn clean install -Prelease`
or
`mvn clean insta… ll -X`
the last available code on a Raspberry PI 4 with Ubuntu Server 19.10
The build is throwing an error:
```
[INFO] Running org.cryptomator.ui.controls.SecPasswordFieldTest
Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError: /home/bernd/.openjfx/cache/12/libprism_es2.so: /home/bernd/.openjfx/cache/12/libprism_es2.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
java.lang.UnsatisfiedLinkError: /home/bernd/.openjfx/cache/12/libprism_es2.so: /home/bernd/.openjfx/cache/12/libprism_es2.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2440)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2497)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
at java.base/java.lang.Runtime.load0(Runtime.java:744)
at java.base/java.lang.System.load(System.java:1870)
at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:205)
at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:185)
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:157)
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52)
at com.sun.prism.es2.ES2Pipeline.lambda$static$0(ES2Pipeline.java:68)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:50)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:333)
at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:830)
Loading library prism_sw from resource failed: java.lang.UnsatisfiedLinkError: /home/bernd/.openjfx/cache/12/libprism_sw.so: /home/bernd/.openjfx/cache/12/libprism_sw.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
java.lang.UnsatisfiedLinkError: /home/bernd/.openjfx/cache/12/libprism_sw.so: /home/bernd/.openjfx/cache/12/libprism_sw.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2440)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2497)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
at java.base/java.lang.Runtime.load0(Runtime.java:744)
at java.base/java.lang.System.load(System.java:1870)
at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:205)
at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:185)
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:157)
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52)
at com.sun.prism.sw.SWPipeline.lambda$static$0(SWPipeline.java:42)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at com.sun.prism.sw.SWPipeline.<clinit>(SWPipeline.java:41)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:333)
at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:830)
Graphics Device initialization failed for : es2, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:243)
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.application.Platform.startup(Platform.java:101)
at org.cryptomator.ui.controls.SecPasswordFieldTest.initJavaFx(SecPasswordFieldTest.java:23)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117)
at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$invokeBeforeAllMethods$9(ClassTestDescriptor.java:376)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.invokeBeforeAllMethods(ClassTestDescriptor.java:375)
at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.before(ClassTestDescriptor.java:201)
at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.before(ClassTestDescriptor.java:77)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:132)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1507)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)
at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)
at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:142)
at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:117)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:830)
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.52 s <<< FAILURE! - in org.cryptomator.ui.controls.SecPasswordFieldTest
[ERROR] org.cryptomator.ui.controls.SecPasswordFieldTest Time elapsed: 0.519 s <<< ERROR!
java.lang.RuntimeException: No toolkit found
at org.cryptomator.ui.controls.SecPasswordFieldTest.initJavaFx(SecPasswordFieldTest.java:23)
[INFO] Running org.cryptomator.ui.l10n.LocalizationTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.058 s - in org.cryptomator.ui.l10n.LocalizationTest
[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR] SecPasswordFieldTest.initJavaFx:23 » Runtime No toolkit found
[INFO]
[ERROR] Tests run: 11, Failures: 0, Errors: 1, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Cryptomator 1.4.15:
[INFO]
[INFO] Cryptomator ........................................ SUCCESS [ 1.723 s]
[INFO] Cryptomator Commons ................................ SUCCESS [ 13.915 s]
[INFO] System Keychain Access ............................. SUCCESS [ 6.374 s]
[INFO] Cryptomator GUI .................................... FAILURE [20:01 min]
[INFO] Cryptomator Launcher ............................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 20:24 min
[INFO] Finished at: 2020-01-19T15:07:33+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project ui: There are test failures.
[ERROR]
[ERROR] Please refer to /home/bernd/Source/cryptomator-1.4.15/main/ui/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project ui: There are test failures.
Please refer to /home/bernd/Source/cryptomator-1.4.15/main/ui/target/surefire-reports for the individual test results.
Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:567)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoFailureException: There are test failures.
Please refer to /home/bernd/Source/cryptomator-1.4.15/main/ui/target/surefire-reports for the individual test results.
Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
at org.apache.maven.plugin.surefire.SurefireHelper.throwException (SurefireHelper.java:289)
at org.apache.maven.plugin.surefire.SurefireHelper.reportExecution (SurefireHelper.java:161)
at org.apache.maven.plugin.surefire.SurefirePlugin.handleSummary (SurefirePlugin.java:364)
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked (AbstractSurefireMojo.java:1041)
at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute (AbstractSurefireMojo.java:857)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:567)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :ui
```
Any ideas what i am making wrong. Thanks.