Ausgabe ohne System.out?! woher?

lumo

Top Contributor
hallo leute,

ich habe gerade ein erlebnis der anderen sorte...
und zwar kommt zur laufzeit meines programmes folgende ausgabe in die console:
Code:
Application Id = null
und jetzt das schönste an der sache... ich habe NIRGENDS in meinem code irgendeine ausgabe die das generieren könne (hab sogar schon mit einem programm nach "application id" die ganzen files durchsuchen lassen... kommt nicht drin vor)

woher kann sowas kommen?

PS: hab mit eclipse auch nach system.out.print gesucht und auch nichts gefunden was die ausgabe auslösen kann... (die ausgabe in der console erscheint nach ein paar sekunden, auch, wenn man im programm NICHTS anklickt und die maus/tastatur nicht mal berührt)
???:L:shock:

EDIT: was mir gerade aufgegallen ist... jetzt gibts bei mir im menü den punkt SEARCH, den hab ich aber nicht hinzugefügt... und auch im code find ich den nicht?!
 
Zuletzt bearbeitet:

lumo

Top Contributor
mein plugins und diese:
Code:
com.ibm.icu
org.eclipse.core.commands
org.eclipse.core.contenttype
org.eclipse.core.databinding
org.eclipse.core.databinding.observable
org.eclipse.core.databinding.property
org.eclipse.core.expressions
org.eclipse.core.jobs
org.eclipse.core.runtime
org.eclipse.core.runtime.compatibility.registry
org.eclipse.equinox.app
org.eclipse.equinox.common
org.eclipse.equinox.ds
org.eclipse.equinox.preferences
org.eclipse.equinox.registry
org.eclipse.equinox.util
org.eclipse.help
org.eclipse.jface
org.eclipse.jface.databinding
org.eclipse.osgi
org.eclipse.osgi.services
org.eclipse.swt
org.eclipse.swt.win32.win32.x86
org.eclipse.ui
org.eclipse.ui.workbench
 

Wildcard

Top Contributor
Eines der Eclipse Bundles logged diesen Eintrag und schreibt ihn auf die Konsole. Ich verstehe nicht ganz was daran nun so problematisch ist?
 

lumo

Top Contributor
weil selbiges wohl auch den punkt search hinzufügt (die ausgabe tretet auf seits auch diesen eintrag gibt... und im menü hätte ich dann ganz gern nur die sachen, die ich auch selbst anlege... :pueh:)
 

slawaweis

Bekanntes Mitglied
mein plugins und diese:
wenn Du ein Eclipse Plugin entwickelst, so ist "Application Id" eine Eigenschaft des Systems. Normalerweise sollte es alles richtig gesetzt sein, außer man konfiguriert selber um. Weiterhin kann es an fehlenden oder veralterten Modulen liegen. Auf dieser Seite wird geraten (mit Screenshot):

Eclipse RCP Tutorial

On the Plug-ins Tab select "Validate plug-ins prior to launching". This will check if you have all required plugins in your launch configuration. If this check reports that some plugins are missing, try clicking the "Add Required-Plug-Ins" button.

Tip
This may solve errors like "One or more bundles are not resolved because the following root constraints are not resolved" or "java.lang.RuntimeException: No application id has been found."

Slawa
 

lumo

Top Contributor
Wer eine Contribution macht findest du einfach heraus über den Plugin Spy (ALT - SHIFT - F1 bzgw F2)
PDE Incubator Spy - hab ich in meine anwendung nun includiert - das problem ist dass der anscheinend in menüs nicht funktioniert.
wenn ich einen view markiert hab und dann ins menü geh, bekomme ich immer den view als source. habs mit zwei views und dem selben menüpunkt (search) versucht...
es wird mir dann immer das plugin, das mir den view zur verfügung stellt als contributor angezeigt...
 

lumo

Top Contributor
wenn Du ein Eclipse Plugin entwickelst, so ist "Application Id" eine Eigenschaft des Systems.
falls du diesen screenshot meinst...
firstrcp60.gif

jedes meiner 7 plugins (auch die hauptapplikation) hat natürlich eine ID

"Add Required-Plug-Ins" gibts jedes mal, wenn was neues hinzukommt...
aber das problem ist ja nicht, dass etwas nicht funktioniert, sondern dass ich etwas zu viel im gui habe... (den menüpunkt search mit der (wahrscheinlich daraus) resultierenden ausgabe application ID = null)
 

Wildcard

Top Contributor
PDE Incubator Spy - hab ich in meine anwendung nun includiert - das problem ist dass der anscheinend in menüs nicht funktioniert.
wenn ich einen view markiert hab und dann ins menü geh, bekomme ich immer den view als source. habs mit zwei views und dem selben menüpunkt (search) versucht...
es wird mir dann immer das plugin, das mir den view zur verfügung stellt als contributor angezeigt...

F1 bezieht sich auf Views und F2 auf Menüs, Toolbars, Popup Menüs usw.
Wenn du ALT + SHIFT + F2 drückst ändert sich der Mouse Cursor. Dann klickst du auf die Toolbar oder das Menü und bekommst angezeigt wo die Contribution herkommt.
 

lumo

Top Contributor
ok, it shows me nothing if i click on the search menue. when i click on a submenue of search it shows me:
The active contribution item identifier:
org.eclipse.search.OpenFileSearchPage
The active action set identifier:
org.eclipse.search.searchActionSet
The active action definition identifier:
org.eclipse.search.ui.openFileSearchPage
The active contribution item class:
org.eclipse.search.internal.ui.OpenFileSearchPageAction
The contributing plug-in:
org.eclipse.ui.workbench (3.5.2.M20100113-0800
which does not really help me any further.
 

lumo

Top Contributor
Warum jetzt plötzlich Englisch?
weil ich langsam kirre im kopf werd (kommentare, variablen etc sind bei mir englisch, ide auch)
nur hier im forum gehts deutsch zur sache :D

dass ein menü aus der org.eclipse.ui.workbench kommt ist mir klar, nur würd ich gerne wissen 'wer' das dort ablegt...
wäre so, wie wenn da ein view wäre, der nicht dort sein soll. dann willst du auch wissen wer den reingibt... wenn nirgends in deinem code steht, dass der view dort sein soll...?!
 

lumo

Top Contributor
das hab ich mir auch gedacht nur was ich meinte...
wo aus meinem code kommt das search...

wenn ich meinen gesammten workspace durchsuche kommt folgendes ergebnis:
(.java)
Suche abgeschlossen, 'org.eclipse.search' wurde 0-mal gefunden (0 Datei(en)).
(.xml)
hier findet er ergebnisse im metadata genau im product meines projektes.
hab jetzt in den Dependencies nachgesehen, dort stands nicht drin, jetzt hab ich "add required plugins" angeklickt,
nun hab ich nicht mehr 29 dependencies sondern 117? (wtf)
- das beste ist dass er org.eclipse.equinox.ds nicht automatisch einbindet, obwohl ich mir recht sicher bin, dass er's braucht ;)

in der liste findet sich auch
org.eclipse.search

und immer weiss ich noch nicht, warum das search teil dort drin ist... ;(
 

Wildcard

Top Contributor
Weil
1. du das Search Bundle in dein Product eingebunden hast
2. Eines der Bundles das du verwendest das Search Bundle als Dependency eingetragen hat
 

lumo

Top Contributor
ich weiss nun woher's kommt.
mein gui editor
com.instantiations*
bindet die org.eclipse.search ein!
was ich noch nicht nachvollziehen konnte... warum er den com instantiations einbindet (ist ein gui editor der java-code generiert, also dessen libs nicht benötigt werden.)

hab jetzt nachträglich händisch die com.instantiations und die org.eclipse.search rausgenommen und siehe da der eintrag im menü ist weg...

jetzt wirft sich die neue frage auf... woher bekommt der die dependency?
 

Wildcard

Top Contributor
i

jetzt wirft sich die neue frage auf... woher bekommt der die dependency?
Schau dir das Manifest deiner Bundles an, dort steht es drin. Du solltest generell nicht gegen deine IDE kompilieren, sondern immer eine Target Platform verwenden und in einer Target Platform hat der GUI Editor nichts verloren, dann treten solche Probleme gar nicht erst auf.
 

lumo

Top Contributor
ich bin jetzt leider schon im wochenende, aber wenn du mir sagst, was genau du damit meinst, werde ich mir das natürlich montags gleich ansehen!
bin für jeden konstruktiven vorschlag zu haben ;)

bis jetzt hab ich mir immer plug-ins erstellt und dann einfach F11 zum compilieren verwendet bzw den grünen knopf ganz oben... (und ein product erstellt...)
 

Wildcard

Top Contributor
Eclipse PDE kompiliert immer gegen eine Target Platform, also eine fixe Komposition aus verfügbaren Bundles und Features. Wenn du keine explizite Target Platform einrichtest, dann wird die laufende Instanz als Target Platform verwendet. Das ist insofern ungeschickt das man in die IDE selbst ständig neue Sachen installiert oder Bundles updated. Neue Bundles in deine Target Platform aufnehmen sollte allerdings ein bewusster Prozess sein. Ausserdem hilft es im Team zu entwickeln, da du nicht erst 100 verschiedene Sachen in deine IDE installieren musst bevor deine Bundles kompilieren.
Eine Target Platform kannst du wahlweise über die Preferences, oder ein .target File definiert werden.
Der Vorteil vom .target File ist, das du es in dein SCM einchecken kannst und dann jeder Entwickler per Knopfdruck die richtige Target Platform verwendet.
 

Ähnliche Java Themen


Oben