Cubbli and Netbeans and TMC (Test My Code)

Last modified by Niko-Ville Koljonen on 2024/02/15 11:52

For some users (students in ohjelmistotekniikka course) tmcbeans stopped. working. Sadly, if you google why this happened, you will get bad advice. If tmcbeans does not start, it is caused by tmcbeans having broken settings in its configuration directory. You can fix this by moving (or removing) your ~/.tmcbeans directory and then starting tmcbeans again:

/home/local/jjaakkol$ mv ~/.tmcbeans ~/tmcbeans-saved

This is not caused by having OpenJDK 11 installed as default JDK (even if Google search suggests this). Cubbli installations have both JDK 8 and JDK 11 installed and tmcbeans is already configured to use JDK 8. 

Currently (2019-04-24) tmcbeans does not work yet with newer JDK 11. We hope that this is the last course who needs these workarounds. JDK 8 is old and should not be used anymore.  

Tmcbeans and Java FX

Some exercises from ohjelmistotekniikka course needed Java FX API to be available. In Ubuntu 18 and later this API is provided from openjfx package, which does not work with old JDK 8. As of 2019-04-24 a new package openjfx8 is available in Cubbli installations, which adds the Java FX API to OpenJDK 8 installation too. The package will be automatically installed to all Cubbli hosts. 

(not) Installing Oracle JDK

Cubbli does not have Oracle JDK installed by default and Oracle license does not allow us to install it. Please, do not try to fix this by installing Oracle JDK with sudo to system directories. This is likely to break other software and Oracle JDK won't get security updates automatically. Also, the default JDK is already JDK 11, so if you want to use features of JDK 11 you don't need Oracle JDK. If you read and accept the Oracle license, you can install Oracle JDK in your home directory, without sudo access. However, there is not enough quota in University's lxhome directories for JDK installation, so if you want to have a network wide install, you must put it in CS home directory or other shared network directory.