# Ausgabe ohne System.out?! woher?



## lumo (28. Jun 2010)

hallo leute,

ich habe gerade ein erlebnis der anderen sorte...
und zwar kommt zur laufzeit meines programmes folgende ausgabe in die console:

```
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?!


----------



## slawaweis (28. Jun 2010)

welche Frameworks bzw. Libs verwendest Du?

Slawa


----------



## lumo (28. Jun 2010)

mein plugins und diese:

```
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 (28. Jun 2010)

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


----------



## lumo (28. Jun 2010)

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... ueh


----------



## slawaweis (28. Jun 2010)

lumo hat gesagt.:


> 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


----------



## Wildcard (28. Jun 2010)

Wer eine Contribution macht findest du einfach heraus über den Plugin Spy (ALT - SHIFT - F1 bzgw F2)


----------



## lumo (29. Jun 2010)

Wildcard hat gesagt.:


> 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 (29. Jun 2010)

slawaweis hat gesagt.:


> wenn Du ein Eclipse Plugin entwickelst, so ist "Application Id" eine Eigenschaft des Systems.


falls du diesen screenshot meinst...





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 (29. Jun 2010)

lumo hat gesagt.:


> 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 (30. Jun 2010)

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
> ...


which does not really help me any further.


----------



## Wildcard (30. Jun 2010)

Warum jetzt plötzlich Englisch?
Hier steht es doch:





> The contributing plug-in:
> org.eclipse.ui.workbench


----------



## lumo (30. Jun 2010)

Wildcard hat gesagt.:


> 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 

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...?!


----------



## Wildcard (30. Jun 2010)

Nun, das search Zeug kommt (surprise ) aus org.eclipse.search


----------



## lumo (1. Jul 2010)

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 (1. Jul 2010)

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 (2. Jul 2010)

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 (2. Jul 2010)

lumo hat gesagt.:


> 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 (2. Jul 2010)

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 (2. Jul 2010)

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.


----------

