Nur benötigte Klassen in executable jar kopieren!

  • Themenstarter Themenstarter Gast2
  • Beginndatum Beginndatum
G

Gast2

Gast
Hallo ich habe folgendes kleines Problem.

Ich habe ein Softwareprojekt mir 2 verschiedenen Main Klassen / Views.

Das eine ist die Anfänger Version und das andere die Experten Version.

Ich habe nun 2 Ant Skripte geschrieben welche mir ein executable jar erzeugen und alle Abhängigkeiten auflösen im classpath ect.

Mir werden allerdings immer ALLE Dateien aus dem Projekt (auch die nicht verwendeten) ins Archiv gepackt.

Kann man das unterbinden, sodass nur Dateien/Klassen reingepackt werden welche auch tatächlich benötigt werden könnten?
 
Klingt nach mießen Softwaredesign. Schreit nach Refactoring. Teile es in drei Projekte auf:

- Eines mit der main und der View für die Anfänger Version
- Eines mit der main und der View für die Experten Version
- Eine Library Projekt, welches die Klassen und Komponenten beinhaltet, welche beide Projekte benötigen. Dieses Projekt hängt bei den anderen beiden Projekten im Classpath.
 
Unabhängig davon ob es so schön ist, hier die Lösung 🙂 :
[XML]
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath">
<exclude name="name.java"/>
</javac>
[/XML]

Wo du bei exclude name= den Namen der Klassen angibst, die nicht mitkompiliert werden sollen.
 
Klingt nach mießen Softwaredesign. Schreit nach Refactoring. Teile es in drei Projekte auf:

- Eines mit der main und der View für die Anfänger Version
- Eines mit der main und der View für die Experten Version
- Eine Library Projekt, welches die Klassen und Komponenten beinhaltet, welche beide Projekte benötigen. Dieses Projekt hängt bei den anderen beiden Projekten im Classpath.

Ich geb dir ja auch recht. Das Problem ist, dass Projekt ist ganz frisch. Ich hatte eben genau das sowieso schon vor ABER es musste für ein konkretes Problem welches mit dem Projekt gar nicht unmittelbar zu tun hat eine Sofort Lösung her und mein Projekt bot alles nötige. Daher muss es nun schnell und nicht schön gehen ^^

Unabhängig davon ob es so schön ist, hier die Lösung 🙂 :
[XML]
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath">
<exclude name="name.java"/>
</javac>
[/XML]

Wo du bei exclude name= den Namen der Klassen angibst, die nicht mitkompiliert werden sollen.

Danke werd ich so machen! PS: Gehts auch mit package Namen?
 
jo was heißt packagenamen. Die packages sind (zumindest bei eclipse) sowieso als ordner dargestellt (auf der Festplatte), du müsstest also als src.dir einfach nur den Pfad zum gewünschten package haben.
 

Zurück
Oben