2009-05-18 5 views
0

Für meine Firma mache ich ein Batch-Skript, um die neuesten Versionen des Codes für unser aktuelles Projekt durchzugehen und zu kompilieren. Ich verwende Ant, um die Klassendateien zu erstellen, habe aber einen seltsamen Fehler festgestellt. Eine der Quelldateien importiert. * Aus einem Verzeichnis, in dem sich keine Dateien befinden (nur Ordner), und tatsächlich werden die benötigten Ordner direkt danach importiert.Wie kann ich "import pack. *" Mit ant/javac kompilieren, wenn es keine solchen Klassen gibt?

Er kompiliert perfekt in Eclipse, aber ich verwende ein Ant-Skript, um es außerhalb der IDE zu automatisieren, und Javac gibt einen Fehler aus, wenn es diese Zeile trifft. Gibt es eine automatisierte Prozedur, die ich verwenden kann, um diesen Fehler in Ant mit javac zu ignorieren/zu unterdrücken?

Ich würde sogar so weit gehen, eine Dummy-Datei im importierenden Verzeichnis zu erstellen, aber all das in einer Jar-Datei enthalten, die ich nicht dekomprimieren und dann mit der Dummy-Datei neu komprimieren möchte.

+3

Was ist der Fehler, den Sie von javac bekommen? –

+0

Vereinbarte, dass der tatsächliche Fehler von javac sehr nützlich sein würde :) – Jared

Antwort

0

Was ist der Fehler?

Vielleicht liegt das außerhalb des Bereichs Ihrer Frage, aber haben Sie jemals an Continuous Integration-Lösungen gedacht? Wir benutzen LuntBuild und sind ziemlich glücklich (es gibt auch andere Alternativen: CruiseControl, Hudson, QuickBuild).

0

Überprüfen Sie, ob Sie die gleiche Version des JDK sowohl in Eclipse als auch in Ant verwenden. Vielleicht ist dies ein Unterschied zwischen JDK-Versionen?

Die einzige andere Option wäre, dass es ein Unterschied in den Parametern ist, die an javac übergeben werden.

Ich wette, es ist das erstere, nicht das letztere.

1

Ein leeres (Paket-) Verzeichnis würde keinen Fehler verursachen. Stellen Sie sicher, dass das (Root-) Verzeichnis dieser Pakethierarchie dem für javac angegebenen Klassenpfad hinzugefügt wird.

z. Wenn das Paket com.stuff ist und das Verzeichnis/java/src/com/stuff ist, müssen Sie/java/src zum Klassenpfad von javac hinzufügen.

Oder entfernen Sie einfach den Import, wenn es importiert. * Aus einem leeren Verzeichnis, dann ist es redundant.

0

Um Eclipse-Projekte außerhalb von Eclipse zu erstellen, werfen Sie einen Blick auf das Projekt ant4eclipse.