Was ist ${nbplatform.NB50.netbeans.dest.dir}?

Alles zu NetBeans als RCP-Platform

Moderator: wegus

Antworten
Benutzeravatar
seapegasus
Beiträge: 594
Registriert: 29.06.2006, 18:32
Wohnort: Prag
Kontaktdaten:

Was ist ${nbplatform.NB50.netbeans.dest.dir}?

Beitrag von seapegasus » 21.09.2006, 17:27

Ich hab ein NetBeans Module ausgecheckt (und auch noch ziemlich viel anderes Zeug wie "editor" und "openide"). Ich dachte, mal sehen wie das implementiert ist, und vielleicht kann ich ja was verbessern und ein Patch machen etc... ;)

Aber nix da. Die Standard-Importstatements sind alle okay, wenn ich es oeffne, aber die Netbeans-spezifischen Importe muss ich offenbar noch verlinken.

Code: Alles auswählen

import org.netbeans.editor...
import org.openide....
import org.netbeans.modules.....etc 
Diese Bibliotheken werden alle nicht gefunden. Wenn ich die Properties des Projekts oeffne, bekomme ich Fehlermeldungen wie
"previously set platform not found, switching to default",
"Invalid Platform selected, cannot list modules",
".java.io.IOException: Cannot examine dir /var/cvs/spellchecker/bindings/${nbplatform.NB50.netbeans.dest.dir}"

Da liegt wohl der Hund begraben. Was fehlt da und wo konfiguriere ich es?

Ich hab auch das hier gelesen
http://wiki.netbeans.info/wiki/view/Dev ... pendencies
aber irgendwie finde ich es seltsam, wenn ich die Libraries (oder Platform?) von Hand eintragen muesste -- denn NetBeans hat doch seine Platform-Jars schon selbst da und weiss auch wo sie sind, sind doch immer im selben Pfad. Und v.a., derjenige, der das Modul eingecheckt hat, konnte es doch auch kompilieren, warum sollte gerade diese Dependenz-Information verloren gegangen sein? Irgendwie habe ich den Verdacht, dass es eine simplere Loesung geben muss, wie macht Ihr das in dem Fall?

Benutzeravatar
seapegasus
Beiträge: 594
Registriert: 29.06.2006, 18:32
Wohnort: Prag
Kontaktdaten:

Beitrag von seapegasus » 22.09.2006, 08:38

Jemand anderswo hat mir gesagt, ich soll es als Module Suite Project öffnen (ich habe es einfach als NB-Projekt geöffnet, was anders sehe ich nicht), und ihm eine NB-Platform "zuweisen". OK, so weit war ich schon. Nur wie? :)
Dann soll ich die Dependenz des ausgecheckten Moduls mit dem html/lib-Modul wiederherstellen. :?:

Benutzeravatar
recJake
Beiträge: 669
Registriert: 19.07.2006, 11:50
Wohnort: IDEs

Beitrag von recJake » 22.09.2006, 09:23

und ihm eine NB-Platform "zuweisen"
Das Module is ja gegen eine bestimtme Plattformversion geschrieben. und die musst du ihm auch zuweisen. Wenn man ein Modul auscheckt, dass für NB6 geschrieben ist, muss das nicht zwangsläufig auch mit NB5 laufen.
...als Module Suite Project öffnen...
Manche Module sind von anderen abhängig, die musst Du dann auch öffnen, was aber meist auch nicht geht, da diese wieder Abhängigkeiten zu Modulen haben, die Du vielleicht nicht ausgecheckt hast.
Mancmal kann NB die abhängigen Module auch nicht finden, weil dieses auf einer höheren Pfadebene stehen (warum auch immer, aber es sieht so aus :( )

Ich habe folgende Erfahrung gemacht, wie es am Besten funktioniert, ohne das man gross rumsuchen muss.
- komplettes CVS auschecken (ausser vielleicht "contrib" und ein paar Nebenprojekte)
- in NB "Open Project" aufrufen
Jetzt zeigt NB ja bei jedem Ordner an, ob er ein Projektverzeichnis enthält. Da sollte man nur die nehmen, die auf der obersten Ebene sind. Wenn man erst noch einen weiteren Ordner öffnen muss, geht es meist nicht, weil die Moduleabhängigkeiten nicht gelöst werden können.

Vielleicht hilft es ja. :?
J..e
Willst Du coden, so code. Willst Du nutzen, so nutze. Willst Du beides, lass es!

Benutzeravatar
seapegasus
Beiträge: 594
Registriert: 29.06.2006, 18:32
Wohnort: Prag
Kontaktdaten:

Beitrag von seapegasus » 22.09.2006, 10:31

recJake hat geschrieben:
und ihm eine NB-Platform "zuweisen"
Das Module is ja gegen eine bestimtme Plattformversion geschrieben. und die musst du ihm auch zuweisen. Wenn man ein Modul auscheckt, dass für NB6 geschrieben ist, muss das nicht zwangsläufig auch mit NB5 laufen.
Oh-oh... Aufgemacht habe ich die Modulesuite schon richtig, aber ich hab keine Ahnung, welche Platform da ursprünglich verwendet worden ist. Daran liegt es sicher, ich frag mal den ursprünglichen Autor. Da der Compiler mit 5.5 und 5.0 nicht zufrieden war, tippe ich mal auf 6.0... Oder steht das irgendwo in einer der Dateien, platform.properties?

Benutzeravatar
recJake
Beiträge: 669
Registriert: 19.07.2006, 11:50
Wohnort: IDEs

Beitrag von recJake » 22.09.2006, 10:44

Oh-oh... Aufgemacht habe ich die Modulesuite schon richtig...
Wollte nicht das Gegenteil behaupten :)
...Oder steht das irgendwo in einer der Dateien, platform.properties?
Da steht sowas, aber was genau - Keine Ahnung.
Vielleicht weiss Panther das?

Das Problem ist ja, wenn Du HEAD auscheckst, bekommst Du die 6.0 Sourcen und natürlich sind die Projekte auch meist schon auf die Plattform v7 eingestellt. Wenn Du jetzt aber noch mit 5.0 arbeitest, kann er die abhängigen Bibliotheken nicht von deiner aktuellen Plattform (in diesem Fall platform6) nehmen, da dort die Versionsabhängigkeiten nicht stimmen.

Aber frag lieber nochmal nach, Du sitzt doch bei den Entwicklern :)
J..e
Willst Du coden, so code. Willst Du nutzen, so nutze. Willst Du beides, lass es!

Benutzeravatar
seapegasus
Beiträge: 594
Registriert: 29.06.2006, 18:32
Wohnort: Prag
Kontaktdaten:

Beitrag von seapegasus » 22.09.2006, 15:46

Ich hab's! Die Lösung war folgendes:

Ich musste zur Downloadseite für Development Builds
http://www.netbeans.info/downloads/download.php?a=n&p=1
und dort die Q-Build/Milestone Build für die 6.0 platformunabhängig runterladen, und zwar, das war das ausschlaggebende, nicht "Sources", sondern "Archives"!

Dann das was ich schon zuvor mehrmals probiert hatte, nämlich in den Project Properties eine andere NetBeans Platform wählen (nämlich den obigen Ordner). Alle anderen Ordner oder das CVS checkout werden von dem Tools > NetBeans Platform Add Dialog ignoriert.

Jetzt habe ich zwar immer noch kein Modul geschrieben, bin aber wenigstens überhaupt mal in der Lage, damit anzufangen. Kann ich ja nicht wissen, dass die Platform von 5.0 platform6, und die von 6.0 platform7 heisst. RTFM... :lol:

Benutzeravatar
seapegasus
Beiträge: 594
Registriert: 29.06.2006, 18:32
Wohnort: Prag
Kontaktdaten:

Beitrag von seapegasus » 22.09.2006, 16:01

recJake hat geschrieben:Das Problem ist ja, wenn Du HEAD auscheckst, bekommst Du die 6.0 Sourcen und natürlich sind die Projekte auch meist schon auf die Plattform v7 eingestellt. Wenn Du jetzt aber noch mit 5.0 arbeitest, kann er die abhängigen Bibliotheken nicht von deiner aktuellen Plattform (in diesem Fall platform6) nehmen, da dort die Versionsabhängigkeiten nicht stimmen.
Ja danke, daran lag's, das was ich mit cvs ausgecheckt hatte, war natürlich der "Trunk" (5.0), das war auch ein Fehler.
recJake hat geschrieben:Aber frag lieber nochmal nach, Du sitzt doch bei den Entwicklern :)
Bin nur leider in 'nem anderen Gebäude... :roll: Heh, ich seh mich schon am Montag bei dem Herrn Kollegen auf der Matte stehen, "Guck ma', suuuper Patch für Dich! ... Speicherleck, ich? Nie!" :wink:

Antworten