Java Tricks

Einrichten von Java3D in Netbeans

Archiv von https://java3d.dev.java.net/ downloaden

Auspacken und README lesen

JARs und Libs auspacken

Pfad-Variablen für Netbeans in der .bashrc setzen

export CLASSPATH=.:/home/steffen/java3d_libs/lib/ext/j3dcore.jar:/home/steffen/java3d_libs/lib/ext/j3dutils.jar:/home/steffen/java3d_libs/lib/ext/vecmath.jar
export LD_LIBRARY_PATH=/home/steffen/java3d_libs/lib/i386

In Netbeans unter Tools/Libraries als neue globale Library Java3D die drei einzelnen J3D- Jarfiles sowie das Libraryverzeichnis ergänzen

im einzelnen Project dann unter „Properties/Libraries/Compile(Compile-Time Libraries)/Add Library..“ die oben frisch erstellte Java3D- Library hinzufügen

Einrichten von javax.comm

(siehe auch http://www.captain.at/howto-java-serial-port-javax-comm-rxtx.php)

Downloaden des Archives von java.sun.com

mkdir lib
copy libLinuxSerialParallel.so to lib/
copy javax.comm.properties to lib/
copy comm.jar to lib/

Ergänzen der javax.comm.properties um evt. notwendige zusätzliche Ports

# Implementation specific driver
driver=com.sun.comm.LinuxDriver
# Paths to server-side serial port devices
serpath0 = /dev/ttyUSB0
serpath1 = /dev/ttyS0
serpath2 = /dev/ttyS1

Kompilieren und Aufrufen

javac -extdirs lib/ ttyReader.java
java -Djava.library.path=lib/ -cp lib/comm.jar:. ttyReader

Sowohl .jar- Suchpfad als auch die properties-Datei muß im Library- Pfad enthalten sein…

Classpath unter Windows

Und wieder mal einen Nachmittag verjubelt..:

Unter Windows kann man einzelne classpath- Pfade noch problemlos mit Backslash \ schreiben

classpath „Extras\snakeyaml-1.9.jar“

fügt man aber mehrere Pfade zusammen, dann muß es auf einmal ein normaler Slash sein (/), sonst findet der Compiler nicht mehr die Jar- Files

classpath „../caph_system_jars/*;Extras/*“

Ausserdem

Unter Windows ist das Trennzeichen zwischen den Pfaden ein Semikolon ; und nicht wie überall in der Literatur der dort immer gezeigte (Unix-) Doppelpunkt :

und man schreibt Wildcards nur als /*, aber nicht als /*.jar

mit solchen Dingen kann man mal wieder viel Zeit verbraten…