# manifest.mf - wie libraries einbinden?



## ruutaiokwu (23. Mrz 2009)

hallo zusammen,

habe das problem dass ich im "manifest.mf"-file 62 libraries einbinden müsste.

nun besteht das problem, dass ich es nicht so machen kann:


```
Class-Path:
lib/lib1.jar
lib/lib2.jar
lib/lib3.jar
lib/lib4.jar
lib/lib5.jar
lib/lib6.jar
lib/lib7.jar
lib/lib8.jar
```

...denn dann erhalte ich die fehlermeldung "invalid header field" !!!


was auch nicht (unbegrenzt) geht, ist das:


```
Class-Path: lib/lib1.jar lib/lib2.jar lib/lib3.jar lib/lib4.jar ...............
```
..dann erhalte ich die meldung "too long lines". so richtig zum aufregen - zum glück habe ich nicht alle lib-namen "von hand" dort hineingeschrieben, sondern den inhalt der konsole mit einem "dir" markiert und anschliessend copy/paste gemacht... das textfile musste ich dann nur noch ein wenig editieren. btw.: hätte jemand eine elegantere lösung???


daraus ziehe ich die schlussfolgerung, dass man bei java-programmen nur eine begrenzte anzahl libraries einbinden kann? wenn das tatsächlich so ist: so ein schrott, dieses zeugs...!

konkret geht es um die apache cxf-libraries (soap-framework) das beinhaltet genau 62 libraries. was ich mir überlegt habe: denn quellcode dieser libraries holen, in eclipse integrieren und anschliessend daraus 1 jar machen.

bevor ich aber diese zeit- und geduldaufwändige übung durchziehe, frage ich mal hier nach.

besten dank für euer feedback!


grüsse,
jan


----------



## thE_29 (23. Mrz 2009)

Du musst nach 72 Zeichen abschneiden, aber nicht schon vorher abschneiden!

/ / Parallel : Weblog

Also zuerst in der ersten Zeile, dann Umbruch + SPACE und dann weiter!


----------



## mvitz (23. Mrz 2009)

Und idealerweise lässt man das einfach von Ant beim generieren der jar erledigen!


----------



## ruutaiokwu (24. Mrz 2009)

hallo zusammen,

danke für die antwort. gibt es eine möglichkeit, im ant-script *.jar anzugeben, und daraus im manifest die entsprechende einträge zu generieren? (*.jar geht im manifest nicht, das ist mir klar...)


grüsse, jan


----------



## foobar (24. Mrz 2009)

Spätestens seit Java 1.6 geht auch sowas:

```
Class-Path: lib/*.jar
```


----------



## ruutaiokwu (24. Mrz 2009)

hallo foobar,

danke für den tipp!

kann mir aber jemand ggf. noch die eigentliche frage beantworten, oder ist mein vorschlag technisch nicht realisierbar?


grüsse,
jan


----------



## mvitz (24. Mrz 2009)

1. path bauen
[HIGHLIGHT=XML]<path id="classpath">
  <fileset dir="lib" include="*.jar" />
</path>[/HIGHLIGHT]

2. path zu manifest konvertieren
[HIGHLIGHT=XML]<pathconvert property="classpath.mf" dirsep="/" pathsep=" " refid="classpath">
  <map from="lib/" to="" />
</pathconvert>[/HIGHLIGHT]
Hier muss evtl das map from to angepasst werden.

3. das manifest erzeugen
[HIGHLIGHT=XML]<jar basedir="classes" destfile="blub.jar" duplicate="preserve">
  <manifest>
    <attribute name="Class-Path" value="${classpath.mf}" />
  </manifest>
</jar>[/HIGHLIGHT]

Edit: Da HIGHLIGHT=xml nicht ging mit code tags
//EDIT (Ebenius): Erledigt


----------



## ruutaiokwu (24. Mrz 2009)

man(n) dankt!

gruss, jan


----------

