The following combination of Ubuntu and Eclipse versions are known to work:
Other combinations may also work but but haven't been verified.
Eclipse Mars and Neon are broken under all versions of Ubuntu mentioned above (16.04, 16.10 and 17.04) due to incompatibility with GTK3 (See Eclipse bug, askubuntu 16.04, askubuntu 16.10, stackoverflow 16.04). The symptom of this problem shows up as Eclipse missing a bunch of tool buttons at the top, and the console prints out a whole bunch of errors like:
(Eclipse:9643): GLib-CRITICAL **: g_base64_encode_step: assertion 'in != NULL' failed (Eclipse:9643): Gtk-WARNING **: Negative content height -3 (allocation 1, extents 2x2) while allocating gadget (node toolbar, owner GtkToolbar)
The easiest solution is run the eclipse
binary with the SWT_WEBKITT
and SWT_GTK3
environment variables set like this:
$ SWT_WEBKIT2=1 SWT_GTK3=0 $HOME/eclipse/java-neon/eclipse/eclipse
or
$ SWT_WEBKIT2=1 SWT_GTK3=0 $HOME/eclipse/java-mars/eclipse
where $HOME/eclipse/java-neon
and $HOME/eclipse/java-mars
are the directories where you installed Eclipse.
You can create a shell script in $HOME/bin
or define aliases in your $HOME/.bashrc
(or the equivalent startup file for your own shell program).
There are 2 versions of Java that you can run on Ubuntu:
I've had problems with OpenJDK (I can't remember if it was this project or another project), so I generally use Oracle Java instead. Oracle Java is not supported by the Ubuntu repositories. You can use the WebUpd8 Personal Package Archives (PPA) which maintain the Oracle packages that you can install using the familiar apt
command. Do the following:
$ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java8-installer $ sudo apt-get install oracle-java9-installer
Unfortunately, WebUpd8 no longer maintains Java 6 and Java 7. To develop UCanAccess against these versions, you need to go to the Oracle Java website and manually download and install the JDK. You need to create a support account at Oracle to access those files, but you don't need to pay anything (at this time this wiki was written).
To force Eclipse to use a particular JDK version for UCanAccess, you need to specify the JDK libraries for the project.
pom.xml
file./pom.xml
checkbox, and click "Finish".$HOME/Downloads/jdk1.6.0_45
.)You can also use Maven directly on Ubuntu to compile and test the code. Here is how to install and run Maven on Ubuntu:
$ sudo apt install maven $ mvn compile $ mvn test -DskipTests=false
Note that Maven itself is a Java program and it no longer works with Java6 from at least 16.04 (perhaps earlier). Currently, the pom.xml
is set up to compile UCanAccess with the same version of Java that runs Maven. Therefore, you cannot compile UCanAccess using Java6 using Maven, unless you make some modifications to pom.xml
. I have not submitted these modifications because it makes the development environment more complicated than it was worth to support this particular use-case. However, please contact the developers if you need to do it. If there's enough interest, I'll document it.
There are a number of functional tests which are broken on Linux. They will be broken on both Eclipse and on the Maven command line.
Eclipse built-in support for Git (EGit) does not seem to like https:
transport on this site. (It works fine on GitHub.) These instructions for generating SSH keys using PuTTYgen are basically correct, but EGit does not recognize PuTTY's default file format. I had to export the private key from PuTTYgen using "Export OpenSSH key"...
and save it as C:\Users\gord\.ssh\id_rsa
(no file extension). Then, after I uploaded my public key to SourceForge (Account Settings > SSH Settings) I was able to use ssh://
URLs with EGit.