Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: mind1 am 18.02.10 - 15:32:28
-
Hallo Notes-Freunde,
aufgrund aktueller Projekte bin ich gerade dabei, mir Java beizubiegen. Das ganze soll natürlich in einer Domino-Umgebung laufen.
Nun habe ich die neueste Designer-Version, die ja relativ Eclipse-geprägt ist, und versuche ein Open-Source-Projekt zu importieren. An vielen Stellen bekomme ich nun die Error-Meldung "Syntax error, parameterized types are only available if source level is 1.5". Im designer unter "Project / Properties" ist allerdings die JDK Compilance auf "1.5" eingestellt.
Ist das richtig so? Beim Kompilieren werden über 2000 Fehler gemeldet...
Vielen Dank!
Gruss, Bernd
-
Hallo!
Ja das ist ziemlich verwirrend und ich habe auch keinen Plan, warum die IBM das so gemacht hat. Aber der Trick ist du musst die Notes.ini Variable JavaCompilerTarget richtig setzen. Am besten schaust du dir folgenden Link an: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/07152009034956PMMSTR75.htm
Grüße
Ralf
-
Generics (http://en.wikipedia.org/wiki/Generics_in_Java) are a facility of generic programming that was added to the Java programming language in 2004 as part of J2SE 5.0 (JDK 1.5) (http://en.wikipedia.org/wiki/Java_version_history#J2SE_5.0_.28September_30.2C_2004.29).
Developers who wish to use JDK 1.5-specific features within their agents must override the default behavior. To override the default behavior, developers must specify the JavaCompilerTarget=1.5 INI setting. It is important to note that enabling 1.5-specific language features via this setting prevents compiled agents from running on Notes/Domino installations prior to 8.0 (and, more generally, JVMs prior to 1.5), regardless of whether the new language features are actually used in the agent's code. Enabling the JDK 1.5 language features via this INI setting therefore introduces the possibility of having an agent recompiled, replicated to a non-JDK-1.5 server, and then fail to run. Additionally, problems can arise editing and saving agents compiled with JavaCompilerTarget=1.5 in Notes/Domino installations without the INI
IBM Lotus Notes, Domino, Domino Designer 8 Release Notes (GC23-5976-00) (http://www-05.ibm.com/e-business/linkweb/publications/servlet/pbi.wss?CTY=US&FNC=SRX&PBL=GC23597600)
-
Hallo und vielen Dank für die Hilfe!
Ich habe den Parameter "JavaCompilerTarget=1.5" nun in Server- und Client-Ini ergänzt (beises Version 8.5.1, Client mit FP1). Beides neu gestartet aber leider bekomme ich immer noch diese Fehlermeldung. Habe auch schon Clean versucht und die Properties des Compilers durchprobiert. Immer die gleiche Meldung.
Was mache ich falsch?
Gruss, Bernd
-
Hallo nochmal,
wo genau landen eigentlich die Ausgaben, die man mit "system.out.println()" erstellt? Die müssten doch in der Statusleiste unten erscheinen (?). Habe in einer Dokumentation gelesen, dass diese Ausgaben bei einem Framework ins Nirvana laufen. Und bei bei meinen ersten Gehversuchen printet nix - daher die Frage.
Vielen Dank!
-
Nein die landen in der Java-Debug-Console.
Grüße David
-
@Bernd!
Probier mal einen neuen Agenten nachdem du den Ini wert gesetzt hast. Scheinbar speichert der Designer die Einstellung irgendwo im Agent ab. Neu Agenten mit gesetztem CompilerTarget funktionieren einwandfrei. Bestehende in denen ich den Fehler schon gehabt hatte, gingen bei mir auch nicht. Habe den Code ganz einfach in einen neuen kopiert.
Grüße
Ralf
P.S. An deiner Stelle würde ich jedoch einen PMR bei der IBM aufmachen. Wenn du die SPR Nummer dazu hast hänge ich mich gerne mit einem eigenen PMR drauf. Solche Fehler sollten nun wirklich nicht sein.
-
Hm da sind doch noch ein paar Bugs drinnen und deshalb habe ich mal selber einen PMR aufgemacht. Ich poste wenn es gibt, den SPR. Dann kann jeder den es interessiert auf leichtem Weg zusätzlichen Druck ausüben, dass die Bugs gefixt werden.
Grüße
Ralf
-
Lotus Level 2 Support in Irland kann das Problem reproduzieren. Sie haben es jetzt in 2 PMR gesplittet und ich hoffe, dass ich bald die SPR Nummern bekomme, die ich dann hier Posten kann. Dann wäre es natürlich gut wenn alle die sich über das Problem ärgern selber einen PMR unter Angabe der SPR Nummern eröffnen um Priorität für diesen blöden Bug zu erzeugen.
Grüße
Ralf
-
Nachdem ich jetzt eine Demodatabase zur Verfügung gestellt habe, hat die IBM versprochen bis morgen zwei SPR Nummern auszuspucken, die das Problem beschreiben. Ich poste Sie dann mal hier.
Wenn man es weiß, wie es geht kann man jedoch auf die Notes.ini Setting verzichten.
Wenn man in einem Agent oder Scriptlibrary 1.5 java Syntax verwenden will, dann sollte man den 2. Quickfix verwenden. Auf keinen Fall den ersten, da dieser nicht funktioniert.
Alternativ dazu kann man in den Projekteigenschaften in den Compilereinstellungen die Option Use Default Compliance Settings aktivieren. Auch dann funktioniert der Agent. Beim Speichern bekommt man dann einen Hinweis, dass die Compilertarget des Agents verändert wurden.
Dies ist bei jedem neuen Agent von neuen zu machen. Wenn man überhaupt alle neuen Agents mit Unterstützung für 1.5 Syntax haben will, dann kann man den CompilerTarget in der Notes.ini setzen. Dann funktionieren die Agents aber nicht mehr auf alten Clients oder Servern.
Grüße
Ralf