# WICHTIG: Properties-datei in jar: classpath?



## Layna (3. Dezember 2004)

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   hilft mir da.


----------



## hankenberge (3. Dezember 2004)

das das xml-file sieht wie folgt aus, wenn du etwas in den Claspath einbinden willst.


```
<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?


----------



## Layna (3. Dezember 2004)

Also, meine von Eclipse ersteltle classpath sieht so aus:

```
<?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.


----------



## hankenberge (3. Dezember 2004)

gute Frage, für mich sieht "Kind" wie ne variable aus, aber was die tut!

Thomas hatte mal für den Zugriff von Bildern die in einem Jar liegen ein beispiel gebracht
http://www.tutorials.de/tutorials157762.html

vielleicht hilft dir das, wenn du den Zugriff nach seinem Prinzip vornimmst, ala


```
getResource("Properties.txt"));
```


----------



## Layna (3. Dezember 2004)

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...


----------



## cham (3. Dezember 2004)

Larayna hat gesagt.:
			
		

> getResource geht leider nicht (soweit ich weiss), weil das einlesen der Properties einen InputStream benötigt.




```
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:


```
set CLASSPATH=absolutePathToJar1;absolutePathToJar2; etc.

java oder javaw YourClass
```

Kopf hoch

cham


----------

