Für die Fehlersuche ist es hilfreich, den debug Modus einzuschalten. Es geht ganz einfach mit -X
Also z.B.:
mvn install -X

mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Für die Fehlersuche ist es hilfreich, den debug Modus einzuschalten. Es geht ganz einfach mit -X
Also z.B.:
mvn install -X
mvn dependency:build-classpath
mvn dependency:analyze
Erzeugt z.B.:
...
[INFO] --- maven-dependency-plugin:2.0:analyze (default-cli) @ twsendsms ---
[WARNING] Used undeclared dependencies found:
[WARNING] com.google.gdata:gdata-core-1.0:jar:1.41.5:compile
[WARNING] com.google.gdata:gdata-contacts-3.0:jar:1.41.5:compile
[WARNING] com.google.gdata:gdata-client-1.0:jar:1.41.5:compile
[WARNING] Unused declared dependencies found:
[WARNING] junit:junit:jar:sources:4.7:compile
[WARNING] junit:junit:jar:4.7:test
[WARNING] google-data:google-data:jar:0.0.1:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
mvn dependency:tree
Ausgabe z.B.:
[INFO] Building twsendsms 0.1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.0:tree (default-cli) @ twsendsms ---
[INFO] de.wenzlaff.twsendsms:twsendsms:jar:0.1.0
[INFO] +- junit:junit:jar:4.7:test
[INFO] +- commons-codec:commons-codec:jar:1.4:compile
[INFO] +- telekom-sdk-java:java-sdk:jar:3.1.10:compile
[INFO] +- junit:junit:jar:sources:4.7:compile
[INFO] +- log4j:log4j:jar:1.2.4:compile
[INFO] \- google-data:google-data:jar:0.0.1:compile
[INFO] +- com.google.gdata:gdata-contacts-3.0:jar:1.41.5:compile
[INFO] | \- com.google.gdata:gdata-client-1.0:jar:1.41.5:compile
[INFO] \- com.google.gdata:gdata-core-1.0:jar:1.41.5:compile
[INFO] +- com.google.collections:google-collections:jar:1.0-rc1:compile
[INFO] \- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
Erst Macports installieren und dann mit
sudo port install maven3
die Installation starten. Dann wie im Installationsfenster beschrieben, maven 3 als default setzen.
Wichtig ist noch, das im ~/.m2/settings.xml das Lokale Repository angegeben wird. Dabei darf das Lokale Verzeichnist nicht
mit ~ gesetzt werden, sondern es muss der komplette Pfad angegeben werden, sonst laufen die Eclipse Plugins nicht richtig.
In
~/.bash_profile
noch:
export M2_HOME=/opt/local/share/java/maven3
export PATH=${M2_HOME}/bin:${PATH}
setzen.
Die Terminal App starten und mit einem Editor die
~/.bash_profile (evl. kontrollieren .profile, .bashrc, /etc/profile )
Datei um den folgenden Eintrag ergänzen:
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
Nach dem restart der Terminal App kann es mit:
echo $JAVA_HOME
getestet werden ob der Eintrag richtig gesetzt wurde.
Auch muss jetzt in jedem Verzeichnis mit:
java -version
die Java Version ausgegeben werden.
Jetzt 146 Seite Online von der Java Insel mit den Kap. über Java 7 News und Reflections. Und das Buch in der Ver. 10 unter.
Wer kennt eine gute FTP Client App. fürs IPhone bzw. IPad?
Soeben WPtouch installiert.
Jetzt ist der Blog optimiert für zugriffe von iPhone, iPod touch, Android, Palm Pre, Samsung touch und BlackBerry Storm/Torch Mobile-Devices.
Also blog.wenzlaff.de ist jetzt optimiert für Mobile-Devices. Man kann auch unten auf der Seite zur orginal Ansicht wechseln. Cool. So sieht die Seite auf meinem IPhone aus:

Was haltet ihr davon?
In Java 7 gibt es jetzt den „diamond Operator“. Nun müssen bei generics keine Typen doppelt deklariert werden.
Hier ein Beispiel vorher und nachher:
List<Integer> liste = new ArrayList<Integer>(); // vor JRE 7
List<Integer> diamantListe = new ArrayList<>(); // ab JRE 7, ja Diamonds are forever
So, jetzt ist Java 7 da. Was braucht man zum ausprobieren?
Eine Eclipse Version die Java 7 unterstützt. Das geht noch nicht mit Helios. Deshalb einen „Nightly Build“ herunterladen.
Dann über Update neue Software über diese URL den JDK 7 patch herunterladen.
Was dann noch fehlt ist das JDK 7 von Oracle.
In den Projekt Einstellungen unter Java Compiler die 1.7 auswählen und nun der erste Test.
In Java 1.7 sind jetzt Unterstriche (_) in Literalen möglich, um besser zu gliedern z.B.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
public class TestJava7 { private static long telefonNummer_1 = 11_22_33_44L; private static double telefonNummer_2 = 11_22.3_3d; public static void main(String[] args) { System.out.println("Telefonnummer 1: " + telefonNummer_1); System.out.println("Telefonnummer 2: " + telefonNummer_2); } } |
Das Ergebnis:
Telefonnummer 1: 11223344
Telefonnummer 2: 1122.33
Weitere Neuerungen mit Beispielen wie „String in switch“ kommen hier dann demnächst.
Ab jetzt gibt es eine neue Eclipse 3.7 Version genannt Indigo. Mal sehen was es neues gibt. Download über die Eclipse Seite.
Habe das Java Package geladen, und das erste Projekt ins Git Repo geschoben.
Die Home Variable war nicht gesetzt auf das User Verzeichnis, dann lief es.
Hier die EGit-Anleitung.
Maven, da musste ich in den Settings auch die setting.xml setzen, und im Pom einige Goals auskommentiern, da sie mit der neuen Version nicht zusammen passen.
Das Explorer-Plugin läuft auch unter Indigo, super.
Indigo scheint auch schneller zu laufen 🙂
Da boolesche Logik auf den ersten Blick schwer lesbar und zu verstehen ist,
können (sollten) Funktionen extrahiert werden um eine bessere Lesbarkeit zu erhalten.
Z.B.
if (sollGeloeschtWerden(timer)){…
ist besser als:
if (timer.isGueltige() && !timer.isAktuell() || timer > heute){…
In if Abfragen verwendete Bedingungen immer positiv formulieren. Das ist besser zu verstehen.
Z.B.
if ( speicher.isLeer() )
ist besser als
if (!speicher.isNichtLeer() )
da pos. formuliert.
Also müsste die Überschrift „Positive Bedingungen verwenden“ heißen. Das wird dann mal später mal geändert. So heißt es immer, und bleibt für immer 😉
Was wird hier ausgegeben? Also was ist der Inhalt der erg Variable?
int a = 5;
int b = 10;
double erg = a / b;
System.out.println(erg);
a) 0.5
b) 0.0
c) null
d) java.lang.ArithmeticException
„Cast von Integraler division zu double“ weiterlesen
Halte die Quelldateien sauber und frei von Müll, der da wäre …
Kennst Du noch weiteren trash?
Die Regel, nur eine assert-Anweisung pro Testmethode zu verwenden, mag drakonisch klingen erleichtert aber die Übersicht (siehe Blog von Dave Astels).
Obwohl ich auch keine Angst habe von dieser Regel abzuweichen.
Was ist Eure Meinung? Wer testet ist feige?
Cool, jetzt kann ich auch übers IPhone von überall posten 🙂 Und bearbeiten geht auch 😉 Und noch ein paar Plugins ergänzt ua. den Tweet Button.
Dieser Blog hat nun die aktuelle WordPress Version mit einer MySQL DB.
Der Blog ist jetzt nur noch über diese Subdomain http://blog.wenzlaff.de zu erreichen.