java: no office executable found

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

chebrise
**
Beiträge: 20
Registriert: So, 03.06.2007 21:35
Wohnort: Tor zum Sauerland
Kontaktdaten:

java: no office executable found

Beitrag von chebrise »

hallo Forum,

nachdem mir die Suche genau kein Ergebnis zu "no office executable found" geworfen hat...

Betriebssystem ist WindowsXP
Eclipse 3.6.2 mit Classpath-Variablen zur OOo Installation (C:\Programme\OpenOffice.org 3\program)
OOo ist gestartet

Anleitung bei
http://wiki.services.openoffice.org/wik ... figuration
befolgt:
juh.jar, jurt.jar, ridl.jar und unoil.jar sind natürlich als Library verlinkt

die ClassDateien dieser 4 jars und com.sun.star.lib.* ist per Ant in das Programm (meinprog.jar) kopiert.
Auszüge aus der build.xml:

Code: Alles auswählen

<property name="OFFICE_ROOT" value="C:\Programme\LibreOffice 3" />
	<property name="OFFICE_HOME" value="${OFFICE_ROOT}/Basis" />
	<property name="OO_SDK_HOME" value="${OFFICE_HOME}/sdk" />
	<property name="OO_URE_HOME" value="${OFFICE_ROOT}/URE" />
	<property name="LIBS" value="C:\JavaLibs" />

<!-- fileset from InstallationFinder.class, Loader.class and WinRegKey.class -->
	<fileset id="bootstrap.glue.code" dir="${OO_SDK_HOME}/classes">
		<patternset>
			<include name="com/sun/star/lib/loader/*.class" />
		</patternset>
	</fileset>
 
	<!-- path to Office Jar's -->
	<path id="office.class.path">
		<filelist dir="${OFFICE_HOME}/program/classes" files="unoil.jar" />
		<filelist dir="${OO_URE_HOME}/java" files="jurt.jar,ridl.jar,juh.jar" />
	</path>

<!-- fileset OpenOffice Classes -->
	<fileset id="ooffice.code" dir="${LIBS}/OpenOfficeClasses">
		<patternset>
			<include name="com/sun/star/**/*.class"/>
		</patternset>
	</fileset> 

	<!-- Since the Eclipse IDE has an incremental compiler build in we do not need
	     to run the >compile< target in this case -->
	<target name="compile" depends="init" unless="eclipse.running">
		<mkdir dir="${BIN_DIR}" />
		<javac debug="true" deprecation="true" destdir="${BIN_DIR}" srcdir=".">
			<classpath refid="office.class.path" />
		</javac>
	</target>

	<!-- JAR -->
	<target name="jar" depends="init,compile">
		<mkdir dir="${OUT_DIR}" />
		<jar basedir="${BIN_DIR}" compress="true" jarfile="${OUT_DIR}/WetterDaten.jar">
			<exclude name="**/*.java" />
			<fileset refid="bootstrap.glue.code" />
			<fileset refid="log4j.code" />
			<fileset refid="pswing.code" />
			<fileset refid="mysql.code" />
			<fileset refid="ooffice.code" />
			
			<manifest>
				<attribute name="Main-Class" value="de.briesk.StartApp" />
				<section name="com/sun/star/lib/loader/Loader.class">
					<attribute name="Application-Class" value="com.sun.star.lib.loader.Loader" />
				</section>
			</manifest>
		</jar>
	</target>
durch folgenden Java Code habe ich "no office executable found" in meiner Logdatei:

Code: Alles auswählen

try {
			xSpreadsheetComponent = xComponentLoader
					.loadComponentFromURL("file:///C:/WetterDaten/BerichtTemplate.ods", "_blank", 0,
							loadProps);
		} catch (IOException e) {
			logger.error(e.getMessage());
		} catch (IllegalArgumentException e) {
			logger.error(e.getMessage());
		}
xSpreadsheetComponent ist ein com.sun.star.lang.XComponent
und xComponentLoader ist ein com.sun.star.frame.XComponentLoader

Kompilieren tut alles prima und das Programm läuft bis zum oben gezeigten try/catch Block. Dort sollte die OOo Vorlage geöffnet werden (OOo ist schon gestartet).
Das hatte auch schon funktioniert... wie immer hat man (ich) nichts verändert.

Was gibt es denn überhaupt für Möglichkeiten, dass diese Fehlermeldung auftritt?

jede Hilfe ist willkommen
PS: ich dreh schon durch
chebrise
**
Beiträge: 20
Registriert: So, 03.06.2007 21:35
Wohnort: Tor zum Sauerland
Kontaktdaten:

Re: java: no office executable found

Beitrag von chebrise »

so... weil ich die Windoof Fehlerquelle ausschalten wollte habe ich es nun für Ubuntu 10.04 umgebaut und getestet.

...selbes Ergebnis: in der Zeile des try/catch gibt es eine Nullpointer und im Logfile "no office executable found" :-(
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: java: no office executable found

Beitrag von hol.sten »

Schau dir z. B. die mal an:
[Java solution] "no office executable found!": http://user.services.openoffice.org/en/ ... =44&t=2520.
[Java] Caution with Bootstrap using OOo 3.0.0: http://user.services.openoffice.org/en/ ... 44&t=10825
[Java example] Using the Interprocess Connection Mechanism: http://user.services.openoffice.org/en/ ... =44&t=1014
chebrise hat geschrieben:nachdem mir die Suche genau kein Ergebnis zu "no office executable found" geworfen hat...
Wo hast du gesucht? Ok, in diesem Forum funzt die Suche nicht. Aber z. B. eine Google-Suche hätte dir bestimmt brauchbare Links geliefert. Oder zumindest Foren, in denen diese Frage schon zillonen Male gestellt wurde.
chebrise
**
Beiträge: 20
Registriert: So, 03.06.2007 21:35
Wohnort: Tor zum Sauerland
Kontaktdaten:

Re: java: no office executable found

Beitrag von chebrise »

ok, dank dir, das funktioniert.

ich konnte es ja gar nicht glauben, daß der Fehler nicht bei mir sondern beim OOo lag. Aber ok, OpenSource ist und bleibt OpenSource :(
Vielleicht machen es die Apachen jetzt besser.
chebrise
**
Beiträge: 20
Registriert: So, 03.06.2007 21:35
Wohnort: Tor zum Sauerland
Kontaktdaten:

Re: java: no office executable found

Beitrag von chebrise »

das kannst du sehen wie du möchtest.
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: java: no office executable found

Beitrag von hol.sten »

chebrise hat geschrieben:ich konnte es ja gar nicht glauben, daß der Fehler nicht bei mir sondern beim OOo lag.
Wo lag denn bzw. was war denn "der Fehler"? Ich verstehe deine Aussage nicht.
chebrise
**
Beiträge: 20
Registriert: So, 03.06.2007 21:35
Wohnort: Tor zum Sauerland
Kontaktdaten:

Re: java: no office executable found

Beitrag von chebrise »

die Anleitung von openoffice.org funktioniert nicht (oder nicht mehr):
http://wiki.services.openoffice.org/wik ... st_Contact

Code: Alles auswählen

XComponentContext xContext = Bootstrap.bootstrap();
Die Anleitung deines ersten Links löst die Aufgabe anders. Wobei man da den Ort der OOo Installation angeben muss. Das ist leider nicht so komfortabel.
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: java: no office executable found

Beitrag von hol.sten »

chebrise hat geschrieben:die Anleitung von openoffice.org funktioniert nicht (oder nicht mehr):
http://wiki.services.openoffice.org/wik ... st_Contact

Code: Alles auswählen

XComponentContext xContext = Bootstrap.bootstrap();
Warum die Anleitung mit OOo 3.x nicht mehr funktioniert, kannst du bei Bedarf meinem zweiten obigen Link entnehmen. Für OOo 2.x funzt die Anleitung.
chebrise
**
Beiträge: 20
Registriert: So, 03.06.2007 21:35
Wohnort: Tor zum Sauerland
Kontaktdaten:

Re: java: no office executable found

Beitrag von chebrise »

auch auf die Gefahr hin, als DAU da zu stehen ;-)

Es ist also nicht möglich OOo zu erreichen ohne eine Pfadangabe!?

Fälschlicherweise dachte ich anfangs, dass OOo mit dem Netzwek-UNO-Zeug ähnlich wie ein Server lokalisiert werden kann wenn es gestartet ist.
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: java: no office executable found

Beitrag von hol.sten »

chebrise hat geschrieben:Fälschlicherweise dachte ich anfangs, dass OOo mit dem Netzwek-UNO-Zeug ähnlich wie ein Server lokalisiert werden kann wenn es gestartet ist.
Das Problem ist, dass OOo nicht immer läuft. Wenn OOo läuft, dann kann man OOo über das Netzwerk finden. Das Verfahren hierzu nennt sich Interprocess Connection Mechanism (oben der dritte Link). Wenn OOo hingegen nicht läuft, dann muss man es starten und kann sich erst dann über das Netzwerk verbinden. Das macht der Bootstrap Mechanismus. Das Beschränkte an dem Bootstrap Mechanismus ist, dass er nur in ganz wenigen Verzeichnissen nach dem OOo Programm sucht, um es dann dort zu starten. Dem OOo Quelltext kann man genau entnehmen, wo Bootstrap nach dem OOo Programm sucht.
chebrise hat geschrieben:Es ist also nicht möglich OOo zu erreichen ohne eine Pfadangabe!?
Da mir nicht alle Betriebssystem zur Vefügung stehen, habe ich seinerzeit beim BootstrapSocketConnector der Einfachheit halber eine vorgebbare Pfadangabe als Parameter definiert. Wenn dir das nicht reicht, kannst du gerne eine Klasse entwickeln, die diese Ermittlung unter Linux, Windows (7, Vista, XP, ...), Solaris, Mac OS X vornimmt. Dann können sich zukünftige Entwickler die Pfadangabe sparen.
chebrise
**
Beiträge: 20
Registriert: So, 03.06.2007 21:35
Wohnort: Tor zum Sauerland
Kontaktdaten:

Re: java: no office executable found

Beitrag von chebrise »

genau das steht jetzt auf meinem Plan. Ich melde mich dann mit Code zurück und danke nochmal.
Antworten