Autor Thema: Hab ich einen Hals... (Notes 8.5.1 und Java-Compilance Level)  (Gelesen 10828 mal)

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Hi,
Das find ich wieder mal super-gut: Ich will grad in einen Java-Agenten eine forall-Schleife einbauen, da kommt die Fehlermeldung:
'for-each-statements are only available if source lvl is 1.5 '.
Ich denk mir OK, Compilance-Level ändern. Guck rein -> Im Projekt und für den Designer steht alles auf 1.5.
Hallo?
Da tickt jetzt dort die JVM in einer 6'er Version, einem wird vorgegaukelt, der Compilance-Level wäre 1.5, ist aber in wirklichkeit 1.4.
Noch nicht mal die Debug-Infos werden eincompiliert, so dass in den Fehlermeldungen (StackTrace) die Zeilennummern fehlen. Auch da steht in den Einstellungen, es wäre eingeschaltet.
Das ist so enttäuschend...

+++To be human is more important than to be important!+++

Offline Felix Ziegler

  • Aktives Mitglied
  • ***
  • Beiträge: 122
Kann ich nicht nachvollziehen.
Folgender Beispielcode wird einwandfrei compiliert.

Code
List<String> names = new ArrayList<String>();
names.add("a");
names.add("b");
names.add("c");

for (String name: names)
   System.out.println(name.charAt(0));

Hast du das Java Compiler Target in der notes.ini gesetzt?

Gruß, Felix

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Na ja, wir haben hier einen Eclipse-Client, die Möglichkeit, in den Project-Settings sämtliche Compilance-Einstellungen vorzunehmen aber um etwas ändern zu können muss ich einen Notes.ini-Eintrag setzen? Ich will ja gar keine andere JVM nutzen, als die von Notes. Und das ist bei 8.5.1 Version 6.
Und dann soll ich, um einen Level > 1.4 einzustellen mit ini-Parametern rumfummeln?
Sry, aber so was ist für mich echt nicht nachvollziehbar.
+++To be human is more important than to be important!+++

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Und übrigens:
The JavaCompilerTarget INI setting lets you use features specific to different Java Development Kits (JDKs).
So sind die Parameter dokumentiert. Also muss ich auf eine andere JVM umschalten, damit ich Einstellungen verändern kann. Supi...
+++To be human is more important than to be important!+++

Offline atbits

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • sei Du selbst die Veränderung, die Du Dir wünschst
    • atBits
Also bei mir ging das alles auch ohne notes.ini.

Was steht denn in der Datei .project im Workspace?

Grüße David
David Schiffer
================================
atBits GmbH & Co. KG - https://atbits.de
im Einsatz: Lotus Domino 8.5, 9, 10

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Notes 8.5 benutzt standardmässig eine Java5 VM.
Also muss jemand VORHER an der notes.ini herumgefummelt haben, damit sie eine andere Version benutzt.

Wenn ich Java für Notes entwickle, benutze ich immer die JVM von Notes in Eclipse.
Kannst du in Window/Preferences/Java/Installed JREs einstellen.
Und dann rechte Maustaste auf Eclipse Projekt / Properties (ganz unten)
In dem Dialog dann Java Build Path, Reiter Libraries / JRE System Library -> Hier auf die Notes VM wechseln, die du unter Windows Preferences eingestellt hast. Kann man für jedes Projekt jederzeit ändern.

Für Compliance Levels gibts in Eclipse noch die Einstellung dem Dialog unter Eclipse Project/Properties:
Java Compiler.

Die Fehlermeldung "for-each-statements are only available if source lvl is 1.5 '." weist darauf hin, dass dein 8.5er Notes eine 1.4er VM verwendet.
Vermutlich hat jemand in den inis-rumgefuhrwerkt, oder das Notes ist kein 8.5.

Mir könnte es passieren, dass ich mit einem 8.5er Client Code entwickle, versuche den auf einem 8er oder 7er Server laufen zu lassen und dabei vergesse, dass der Server eine andere JVM benutzt.

 
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Der Client ist eine Standard-Installation Notes 8.5.1 (englisch). In dieser Installation ist die von IBM mitgelieferte JVM-Version 6.
Hier ein Auszug aus dem File 'notices.txt' im jvm-Ordner von Notes:
NOTICES AND INFORMATION

IBM(R) 32-bit SDK for Windows(R), Java(TM) Technology Edition, Version 6
IBM(R) 32-bit Runtime Environment for Windows(R), Java(TM) Technology Edition, Version 6


An der Notes.ini ist bisher nichts geändert worden. Wir sind in der komfortablen Situation, dass solche Sachen nicht zentral ausgerollt werden und ich damit absolute Kontrolle habe.
Und weder die Einstellungen in den globalen Settings, noch in den Projektsettings haben irgendeine Auswirkung.
+++To be human is more important than to be important!+++

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Und noch besser:
Jetzt habe ich den Notes.ini-Eintrag gesetzt. Beim Speichern der Java-Klasse wird mir folgende Warnung angezeigt:

Java compiler backward compatibility warning

Java compiler settings changed to SourceCompilerVersion = 1.5
TargetCompilerVersion = 1.5


Na ja, dann ist eben 1.5 nicht kompatibel mit 1.5. Zumindest kann ich jetzt die Einstellungen ändern und die Debug-Infos werden mit eincompiliert. Ist ja schon mal was.
+++To be human is more important than to be important!+++

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
@Pitiyankee
Da in 8.5.1 für die Java-Entwicklung endlich der echte Java-Editor von Eclipse verwendet wird, ist das entwickeln jetzt auch im Designer-Client gut möglich (mit der einen oder anderen Macke, wie man sieht).
Aber grundsätzlich ein Riesen-Fortschritt!!
+++To be human is more important than to be important!+++

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
@thomator

Kannst du mir sagen, wie du die Meldung beim Speichern des Agents zusammgebracht hast. Bei mir kommt nämlich diese Meldung nicht und der Agent bleibt in der alten Version? siehe auch Thread http://atnotes.de/index.php/topic,47780.0.html

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re: Hab ich einen Hals... (Notes 8.5.1 und Java-Compilance Level)
« Antwort #10 am: 24.03.10 - 14:30:15 »
Hi Ralf,
ich kann die Meldung leider selber nicht mehr reproduzieren.


LG
+++To be human is more important than to be important!+++

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Hab ich einen Hals... (Notes 8.5.1 und Java-Compilance Level)
« Antwort #11 am: 24.03.10 - 15:10:18 »
Ähem ich kann die Meldung mittlerweile reproduzieren und weiß jetzt auch wie es funktioniert. Da es aber ziemlich verwirrend funktioniert und sich wie man sieht nur die wenigsten auskennen habe ich bei der IBM einen PMR dazu laufen.

Für alle die das Problem noch haben. Man braucht, bzw. soll die Notes.ini Variable nicht setzen. Wenn man dann in einem Agent erweiterte Syntax von Java 1.5 verwendet, dann braucht man bei dem Fehler einfach nur den 2. Quickfix bei der Fehlermeldung zu der erweiterten Syntax wählen. Auf keinen Fall den ersten den der funktioniert nicht. Dann kommt beim Speichern des Agenten die Meldung von Thomator und in Zukunft kann bei diesem Agenten immer die neues Syntax verwendet werden.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re: Hab ich einen Hals... (Notes 8.5.1 und Java-Compilance Level)
« Antwort #12 am: 07.04.10 - 14:59:41 »
Sehr schön ;-)
Da fällt mir so spontan ein Kommentar aus einer Lotus-Script-Lib in der Ressourcenplanung 8.5.1 ein (Standard-IBM):

'its probaly a hack, but it works
+++To be human is more important than to be important!+++

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Hab ich einen Hals... (Notes 8.5.1 und Java-Compilance Level)
« Antwort #13 am: 07.04.10 - 15:06:37 »
Ralf, wie ist das dann beim Ausrollen der Anwendung. Da muss dann aber schon die Notes.ini gesetzt sein, oder?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Hab ich einen Hals... (Notes 8.5.1 und Java-Compilance Level)
« Antwort #14 am: 07.04.10 - 16:39:29 »
Nein würde ich nicht so sehen, da Notes den Wert im Agent speichert. Und der Wert ja auch nur für die Kompilation benötigt wird. Ich habe es gerade mit einem Testagent ausprobiert. 1.5 Code läuft einwandfrei auf einem anderen Notesclient, der keine Notes.ini Variable gesetzt hat. Ob es auf einem Server läuft kann ich jetzt nicht gleich probieren, aber ich bin zuversichtlich.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz