WICHTIG: Properties-datei in jar: classpath?

Layna

Erfahrenes Mitglied
Hi.
Ich kämpfe noch immer mit meiner jar.... aber ich bin schon einen Schritt weiter.
Er findet eine Properties.txt nicht.
Ich vermute mal das Ding muss entweder in die Manifest oder in den classpath... aber wie mache ich das jetzt?
Btw, ich habe noch immer keine doku zum thema .claspath und dem Aufbau der dazu benutzten XML-Datei gefunden... nichtmal :google: hilft mir da. :(
 
das das xml-file sieht wie folgt aus, wenn du etwas in den Claspath einbinden willst.

Code:
<project default="createJar">
   <target name="createJar">
   	<property name="app.cp" value="jpoi.jar."/>   
      <jar destfile="Generate.jar" basedir="bin" update="yes">
         <manifest>
	     <attribute name="Main-Class" value="Start"/>	
         	<attribute name="Class-Path" value="${app.cp}"/>  
         </manifest>
      </jar>
   </target>
</project>

liegt die datei innerhalb oder ausserhalb des jars? und wie greifst du den auf die datei zu?
 
Also, meine von Eclipse ersteltle classpath sieht so aus:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path=""/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="lib" path="ojdbc14.jar"/>
    <classpathentry kind="output" path=""/>
</classpath>

Ich verzweifle so ein bisschen an diesem "kind", bisher konnte mir weder google noch tutorials.de helfen. und DAS ist mi vorher noch nie Passiert ;).

Zurück zum eigentlichen problem:
meine Datei heisst Properties.txt, und liegt mit im jar drinne... das prog findet sie da halt nur nicht.. oder sucht ganz woanders.
 
getResource geht leider nicht (soweit ich weiss), weil das einlesen der Properties einen InputStream benötigt.
Das verlinkte topic hatte ich mir auch angeguckt, nur leider hat es mir schon da nicht weitergeholfen. Probiert hatte ich es... klappte nur nicht.
Hatte auch schonb versucht die Properties nach draussen zu legen, aber erstens ist das nicht der Sinn der Sache, und zweitens klappte es nicht.
So lanmgsam entwickel ich eine allergie gegen jar's...
 
Larayna hat gesagt.:
getResource geht leider nicht (soweit ich weiss), weil das einlesen der Properties einen InputStream benötigt.
Code:
YourClassName.class.getClassLoader().getResourceAsStream("yourTextFile")

Hoffe damit gehts wieder vorwärts. Nur mit selbststartenden Jars habe ich keine Erfahrung. Kann es sein, dass Du das jar etwa nicht mit java verbunden hast?

Es gibt aber noch die Variante mit ner Stapeldatei. Die muss wie folgt aussehen:

Code:
set CLASSPATH=absolutePathToJar1;absolutePathToJar2; etc.

java oder javaw YourClass

Kopf hoch

cham
 
Zurück