# Application & Product Infocenter und eigene TOC



## namenlos123 (4. Aug 2010)

Hi Community,

ich hab zwei Probleme.

Das eine ist, dass ich mein Book nicht in mein Infocenter hineinbekomme.
Ich habs schon versucht mein Book in ein Plugin-Projekt einzufuegen und es von meiner "Infocenter"-Projekt als dependency einzustellen. Hat leider nicht geklappt.

Das andere ist, dass ich mein Infocenter als Product exportiert habe, die Anwendung startet, aber sich kurzum abschiesst. Einen Fehlerbericht hab ich zur Hand.

```
!SESSION 2010-08-04 13:25:47.864 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_17
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.help.base 4 0 2010-08-04 13:25:50.286
!MESSAGE Help cannot be displayed.  The embedded application server could not run help web application.
!STACK 0
java.lang.NullPointerException
	at org.eclipse.help.internal.server.JettyHelpServer.checkBundle(JettyHelpServer.java:112)
	at org.eclipse.help.internal.server.JettyHelpServer.start(JettyHelpServer.java:103)
	at org.eclipse.help.internal.server.WebappManager.start(WebappManager.java:38)
	at org.eclipse.help.internal.base.BaseHelpSystem.ensureWebappRunning(BaseHelpSystem.java:182)
	at com.XYZ.help.web.XYZHelpApplication.start(XYZHelpApplication.java:52)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
```

Hat da jemand einen Einfall fuer die zwei Probleme?


Gruss,
namenlos.


----------



## namenlos123 (4. Aug 2010)

so, hab mal die Eclipse Hilfe aufgesucht und mal die fehlenden packete in meine dependency-liste eingefuegt (siehe Installing a minimal set of plug-ins) ... und es klappt. 

Mein Service laeuft aber leider noch immer ohne mein TOC, bzw mein Book. Btw: die Standard-Eclipse-Hilfe-Books sind enthalten.

Jetzt noch mein Book einfuegen und ich bin gluecklich.


Gruss,
namenlos.


----------



## Wildcard (4. Aug 2010)

Wie sieht die entsprechende plugin.xml aus?


----------



## namenlos123 (5. Aug 2010)

Die Plugin.xml aus meinem web.infocenter.book - Projekt

[XML]<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

   <extension
         point="org.eclipse.help.toc">
      <toc
            file="toc.xml"
            primary="true">
      </toc>
   </extension>
</plugin>
[/XML]

Mein "Hauptprojekt" com.XYZ.help.web hat...

[XML]<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         id="Infocenter"
         point="org.eclipse.core.runtime.applications">
      <application
            cardinality="singleton-global"
            thread="main"
            visible="true">
         <run
               class="com.XYZ.help.web.XYZHelpApplication">
            <parameter
                  name="mode"
                  value="infocenter">
            </parameter>
         </run>
      </application>
   </extension>
   <extension
         id="product"
         point="org.eclipse.core.runtime.products">
      <product
            application="com.XYZ.help.web.Infocenter"
            name="XYZ Web-Help">
         <property
               name="appName"
               value="XYZ Web-Help">
         </property>
         <property
               name="preferenceCustomization"
               value="plugin_customization.ini">
         </property>
      </product>
   </extension>
</plugin>
[/XML]


----------



## namenlos123 (5. Aug 2010)

Also hab mich mal bissl ungeschaut und hab nach der Produktexportierung im Zielordner ein Plugin-Odner entdeckt welches auch meine bundle "web.infocenter.book_1.0.0.jar" besitzt.

Ich versteh nicht wieso meine Applikation nicht meine TOC ausm jar holt. ;(

Hat da jemand einen Loesung dafuer? Sonst nehmen sich meine Plugin-Projekte auch immer ihre eigenen TOCs aus ihrer naehe(im Projektordner). Wieso klappt das nicht da?


----------



## Wildcard (5. Aug 2010)

Schau mal inst jar ob die Toc tatsächlich im gebauten Artefakt vorhanden ist. Vielleicht hast du die toc.xml ja nicht in die build.properties eingetragen, oder so


----------



## namenlos123 (9. Aug 2010)

Wildcard hat gesagt.:


> Schau mal inst jar ob die Toc tatsächlich im gebauten Artefakt vorhanden ist.


Danke Wildcard fuer deine Hilfe. Die Toc ist mit dem gewuenschten Inhalt gefuellt und im artifacts.xml vorhanden.



Wildcard hat gesagt.:


> Vielleicht hast du die toc.xml ja nicht in die build.properties eingetragen, oder so


Die TOC ist im build.properties von web.infocenter.book enthalten, aber nicht in der com.XYZ.help.web . Der Grund ist, dass ich ein seperates Plugin haben will, welches nur als "Book" verwendet werden soll.

com.XYZ.help.web:

```
source.. = src/
output.. = bin/
bin.includes = .,\
               META-INF/,\
               OSGI-INF/l10n/bundle.properties,\
               plugin.xml,\
               plugin_customization.ini,\
               splash.bmp,\
               test01-8.bmp,\
               test01.bmp,\
               test02-8.bmp,\
               test02.bmp,\
               test03-8.bmp,\
               test03.bmp
```

web.infocenter.book:

```
source.. = src/
output.. = bin/
bin.includes = .,\
               META-INF/,\
               OSGI-INF/l10n/bundle.properties,\
               html/,\
               plugin.xml,\
               toc.xml
```
Ich hab auch diverse andere .ini oder .xml daten angesehen und konnte nichts eigenartiges bemerken.


----------



## Wildcard (9. Aug 2010)

Schau mal auf der OSGi Konsole, oder Plugin Registry View (falls vorhanden) ob dein Book Plugin auf 'resolved' steht. Versuch auch mal "diag web.infocenter.book"


----------

