Toon posts:

[java] classpath problemen runnen van jar

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik blijf hier altijd problemen mee hebben.... Wie kan me helpen?

Ik heb een Java project gemaakt die verschillende jar files nodig heeft om te kunnen runnen.

Ik heb een directory structuur aangemaakt alsvolgt:

dist (bevat de jar die ik wil runnen)
lib (bevat third party jar files, libraries).
src (bevat source code e.d.)
build (bevat gecompileerde classes)

Ik gebruik ant om mijn code te compilen. Dat gaat ook allemaal prima. In mijn build.xml heb ik namelijk de volgende code toegevoegd om de libraries te includen tijdens het compilen:

code:
1
2
3
4
5
6
7
<path id="classpath">
        <fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>

<target name="compile" depends="prepare" description="Compiles java sources">
        <javac srcdir="${srcDir}" destdir="${buildDir}" classpathref="classpath" source="1.4"/>
</target>


Nu wil graag mijn jar runnen. Maar wat ik ook doe, hij blijft zeuren over libraries die ontbreken.

Ik gebruik Linux en j2sdk1.41. Ik gebruik het volgende (bash) script om de jar te runnen:

code:
1
2
3
#!/bin/bash
CLASSPATH=lib/if_util.jar:lib/jbossall-client.jar:lib/jboss-common-client.jar:lib/jboss-j2ee.jar:lib/log4j.jar:lib/mysql-connector-java-3.0.6-stable-bin.jar:lib/xercesImpl.jar:lib/xercesSamples.jar:lib/xml-apis.jar:lib/xmlParserAPIs.jar
java -classpath $CLASSPATH -jar dist/lizard.jar


En toch krijg ik bij het opstarten:

code:
1
SAX2 driver class org.apache.xerces.parsers.SAXParser not found


Deze klasse bevindt zich in een van de libraries in de lib-directory.

Het gaat wel goed wanneer ik de libraries in mijn $JDK_HOME/jre/lib/ext
directory drop. Maar dat is ook niet gewenst, want als ik dat doe start mijn applicatie server niet (goed) meer op...

Hoe krijg ik dergelijke problemen voor eens en altijd getackeld?

[ Voor 15% gewijzigd door Verwijderd op 16-04-2003 12:36 ]


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
ik geloof dat daar 'endorsed' iets mee te maken heeft - aangezien xerces nogal verschilllende versies heeft die nite compatible zijn

Verwijderd

Je moet het CLASSPATH exporteren!

code:
1
2
3
#!/bin/bash
export CLASSPATH=lib/if_util.jar:lib/jbossall-client.jar:lib/jboss-common-client.jar:lib/jboss-j2ee.jar:lib/log4j.jar:lib/mysql-connector-java-3.0.6-stable-bin.jar:lib/xercesImpl.jar:lib/xercesSamples.jar:lib/xml-apis.jar:lib/xmlParserAPIs.jar
java -classpath $CLASSPATH -jar dist/lizard.jar

[ Voor 3% gewijzigd door Verwijderd op 16-04-2003 13:16 ]


Verwijderd

Topicstarter
Verwijderd schreef op 16 April 2003 @ 13:14:
Je moet het CLASSPATH exporteren!

code:
1
2
3
#!/bin/bash
export CLASSPATH=lib/if_util.jar:lib/jbossall-client.jar:lib/jboss-common-client.jar:lib/jboss-j2ee.jar:lib/log4j.jar:lib/mysql-connector-java-3.0.6-stable-bin.jar:lib/xercesImpl.jar:lib/xercesSamples.jar:lib/xml-apis.jar:lib/xmlParserAPIs.jar
java -classpath $CLASSPATH -jar dist/lizard.jar
Dat heeft er niets mee te maken...
Ik gebruik de variable CLASSPATH direct en hoef het dus niet te exporteren.

  • paulh
  • Registratie: Juli 1999
  • Laatst online: 22-06 15:30
Misschien moet je de paden in classpath niet relatief maken maar absoluut.

[ZwareMetalen.com] - [Kom in aktie tegen de CO2 maffia]


Verwijderd

Topicstarter
paulh schreef op 16 april 2003 @ 22:07:
Misschien moet je de paden in classpath niet relatief maken maar absoluut.
Ook dat heb ik al geprobeerd, maar helpt niks!
Het vervelende is, dat wanneer ik de jars gewoon in de $JDK_HOME/jre/lib/ext
directory donder het wel gewoon werkt!

Wat gaat er nu toch mis?
Pagina: 1