# java starten unter linux



## SilverICE (8. Sep 2005)

Hallo,

ich muß gleich mal sagen das ich so gut wie keine ahnung habe von java... sorry

aber ich werde trotzallem mit konfrontiert und kann es nicht umgehen.

folgendes problem habe ich

ich habe ein linuxserver hier vor mir... sonst habe ich immer ein windows server benutzen müssen mit dem programm.. also

ich muß eine bat datei starten die so aussieht


```
REM starten des FSV-Servers
@ECHO OFF

REM wechseln in das Rootverzeichnis
d:
cd \wwwroot\fsv

REM 	Java		Klassenpfad				                               fsv_server	      ini-File		   log-File
d:\programme\java\j2re1.4.2_01\bin\java -classpath .;.\hisqis_fsv.jar;his\driver\ifxjdbc.jar;his\driver\fop.jar;his\driver\jars.jar his.classes.fsv_server his\fsv_server.ini his\log\protokoll.log
```

unter linux kann ich das nicht aufrufen ist mir klar.. aber ich hoffe das das programm java benutzt ich es unter linux zu laufen bekomme da ja java plattformunabhängig ist.

also ändere ich den inhalt wie folgt


```
#!/bin/bash
# REM starten des FSV-Servers
# REM wechseln in das Rootverzeichnis
# cd /var/www/html/fsv/

#REM    Java            Klassenpfad                                                            fsv_server             ini-File             log-File
/usr/java/jre1.5.0_04/bin/java -cp /var/www/html/fsv/hisqis_fsv.jar:/var/www/html/fsv/his/driver/ifxjdbc.jar:/var/www/html/fsv/his/drivers/fop.jar:/var/www/html/fsv/his/drivers/jars.jar:his.class.fsv_server:/var/www/html/his/fsv_server.ini:/var/www/html/fsv/his/log/protokoll.log
```

ich habe anstatt ; einen : genommen und die backslash in slash geändert außerdem denke ich liegt ein fehler am ende vor bei dem aufruf 
	
	
	
	





```
his.class.fsv_serv
```

hier noch die ausgabe wenn ich die datei ausführe

```
[webadmin@hisqis2 script]$ ./startdesfsvservers.bat
.
.
.
where options include:
    -d32          use a 32-bit data model if available

    -d64          use a 64-bit data model if available
    -client       to select the "client" VM
    -server       to select the "server" VM
    -hotspot      is a synonym for the "client" VM  [deprecated]
                  The default VM is client.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A : separated list of directories, JAR archives,
                  and ZIP archives to search for class files.
    -D<name>=<value>
                  set a system property
    -verbose[:class|gc|jni]
                  enable verbose output
    -version      print product version and exit
    -version:<value>
                  require the specified version to run
    -showversion  print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
                  include/exclude user private JREs in the version search
    -? -help      print this help message
    -X            print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  disable assertions
    -esa | -enablesystemassertions
                  enable system assertions
    -dsa | -disablesystemassertions
                  disable system assertions
    -agentlib:<libname>[=<options>]
                  load native agent library <libname>, e.g. -agentlib:hprof
                    see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
                  load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
                  load Java programming language agent, see java.lang.instrument
[webadmin@hisqis2 script]$
```

könnt ihr mir helfen ich weiß nicht weiter


----------



## Bleiglanz (8. Sep 2005)

```
his\driver\jars.jar his.classes.fsv_server his\fsv_server.ini his\log\protokoll.log
```
da sind leerzeichen

und es heisst 

his.classes


----------



## SilverICE (8. Sep 2005)

ok das stimmt.. so hatte ich es auch am anfang.. bis auf den screibfehler

jetzt nehm ich den befehl


```
/usr/java/jre1.5.0_04/bin/java -cp /var/www/html/fsv/hisqis_fsv.jar:/var/www/html/fsv/his/driver/ifxjdbc.jar:/var/www/html/fsv/his/drivers/fop.jar:/var/www/html/fsv/his/drivers/jars.jar his.classes.fsv_server /var/www/html/his/fsv_server.ini /var/www/html/fsv/his/log/protokoll.log
```

und es kommt beim ausfürhren folgender fehler


```
[webadmin@hisqis2 script]$ ./startdesfsvservers.bat
Exception in thread "main" java.lang.NoClassDefFoundError: his/classes/fsv_server
[webadmin@hisqis2 script]$
```


----------



## Guest (9. Sep 2005)

hat denn keiner eine idee?


----------



## Bleiglanz (9. Sep 2005)

such mal die datei

his/classes/fsv_server.class

wenn die unter 

/var/www/html/fsv/his/classes/fsv_server.class

liegt, musst du die Zeile

cd /var/www/html/fsv/

wieder einkommentieren


----------



## SilverICE (9. Sep 2005)

danke.. 

reicht das wenn ich den befehl so ändere?


```
/usr/java/jre1.5.0_04/bin/java -cp /var/www/html/fsv/hisqis_fsv.jar:/var/www/html/fsv/his/driver/ifxjdbc.jar:/var/www/html/fsv/his/drivers/fop.jar:/var/www/html/fsv/his/drivers/jars.jar /var/www/html/fsv/his/classes/fsv_server.class /var/www/html/his/fsv_server.ini /var/www/html/fsv/his/log/protokoll.log
```
weil kommt der gleiche fehler

Exception in thread "main" java.lang.NoClassDefFoundError: /var/www/html/fsv/his/classes/fsv_server/class

----

ich habe ja jetzt diesen teil " his.classes.fsv_server" geändert in /var/www/html/fsv/his/classes/fsv_server.class muss ich jetzt vielleicht die : zwischen den aufrufen setzen?

edit: naja wenn ich das mit dem :  versuche und die datei starte dann spuckt er mir die hilfe (syntax) aus aber ohne fehler.. also geht das net mit : ok ok 

also habe ich jetzt wie dies hier
-ich habe die letzten aufzählungen erst mal weggelassen also die .log und die .ini


```
/usr/java/jre1.5.0_04/bin/java -cp /var/www/html/fsv/hisqis_fsv.jar:/var/www/html/fsv/his/driver/ifxjdbc.jar:/var/www/html/fsv/his/drivers/fop.jar:/var/www/html/fsv/his/drivers/jars.jar /var/www/html/fsv/his/classes/fsv_server.class
```


mit der ausgabe

[webadmin@hisqis2 script]$ ./startdesfsvservers.bat
Exception in thread "main" java.lang.NoClassDefFoundError: /var/www/html/fsv/his/classes/fsv_server/class
[webadmin@hisqis2 script]$


----------



## Bleiglanz (9. Sep 2005)

nein

das reicht nicht und geht nicht

du musst mit cd da rein gehen oder /var/www/html/fsv/ in den Classpath aufnehmen


----------



## SilverICE (9. Sep 2005)

danke dir nochmal für deine hilfe... ich fange jetzt nochmal an ich glaub ich hab den fanden verloren.. 

also die orginal .bat-datei siet wie folgt aus die unter win gestartet wird.


```
REM starten des FSV-Servers
@ECHO OFF

REM wechseln in das Rootverzeichnis
d:
cd \wwwroot\fsv

REM 	Java		Klassenpfad				                               fsv_server	      ini-File		   log-File
d:\programme\java\j2re1.4.2_01\bin\java -classpath .;.\hisqis_fsv.jar;his\driver\ifxjdbc.jar;his\driver\fop.jar;his\driver\jars.jar his.classes.fsv_server his\fsv_server.ini his\log\protokoll.log
```

jetzt hab ich alles auf der linux kiste unter /var/www/html/fsv

ich fange klein an um alles einzubinden.. denke das ist das beste da ich eh nicht viel ahnung habe aber mein chef mir im nacken sitzt. 

hier der inhalt der bat datei


```
#!/bin/bash
cd /var/www/html/fsv/
/usr/java/jre1.5.0_04/bin/java -classpath /hisqis_fsv.jar
```

1.. bin ich mir nicht sicher ob oben #/bin/bash rein muß
2. das cd /var.... lieber als "CLASSPATH=/var/www/html/fsv/" schreiben?aber wie dann den befehlt?

jedenfalls kommt kein fehler sondern er zeigt mir die syntax von java....!

die stucktur der ordner ist z.b so

var/www/html/fsv
                            datei: qis.htm
                            /his/
                            datei: hisqis_fsv.jar
                            /his/classes/
                            /his/driver/
                            /his/templates
                            und so weiter



danke dir nochmal 
gruß


----------

