Frage

Ich habe eine einfache Web-Anwendung (dynamischen Web-Projekt in Eclipse) mit einem zugeordneten EAR-Projekt. Ich versuche, um sicherzustellen, dass mein JUnit-Testcode aus der Bereitstellung der EAR-Datei bleibt.

In meinem Web-Projekt habe ich einen Quellordner namens „src“ und eine namens „test“. Ich brauche die .class-Dateien aus dem „test“ Quellordner aus dem Ohr zu halten, wenn ich exportieren Eclipse verwenden.

Ich weiß, das ist trivial ant verwenden, aber scheint unmöglich, Eclipse .. Rechtsklick Projekt und exportieren Sie die EAR-Datei .. werden die Testklassen immer enthalten.

Wenn ich manuell bearbeiten die .setting / org.eclipse.wst.common.component.xml Datei, um den Tag zu entfernen, mit dem Testordner zugeordnet ist es funktioniert, aber wenn einige andere Entwickler etwas auf den Build-Pfad im Zusammenhang ändern, wird es regeneriert ...

Bin ich etwas fehlt offensichtlich .. Ich habe ohne Erfolg wie verrückt gegoogelt .. geprüft Eclipse-Dokumentation und bin ratlos ..

War es hilfreich?

Lösung

Es scheint nicht direkt möglich zu sein, die bizarr ist. Ist hier ein paar Abhilfen Sie könnten versuchen.

Hinweis würde ich die Java-Dateien aus dem Web-Projekt zu einem Java-Projekt bewegen (dies ist wahrscheinlich eine gute Praxis zu folgen sowieso). In beiden Fällen einen anderen „test“ Java-Projekt erstellen und die Testquellen an diesem Projekt bewegen. Ihr Testprojekt erklärt das „main“ Java-Projekt als Abhängigkeit, so dass es den Zugang zu den Arten zum Testen hat, ist aber nicht in dem Krieg einbezogen, so dass die Testklassen werden nicht eingesetzt werden.

Alternativ, wenn Sie die Quellen in einem Projekt behalten möchten, können Sie das Testprojekt verwenden verknüpften Ressourcen konfigurieren. Ich habe veröffentlicht eine andere Antwort , dass zeigt, wie verwenden verknüpften Ressourcen können Quellenstandorte über Projekte hinweg zu teilen. Mit diesem Ansatz sind die Testquellen noch nicht auf dem Build-Pfad für das Hauptprojekt, so werden nicht in dem Glas gebündelt werden, sind aber physisch in dem Projekt so angeordnet, dass die Quellcodeverwaltung einfacher ist.

Andere Tipps

Ich tue etwas ähnlich, nur mit PDE, Verwendung von Eclipse 3.7. Ich bin die Bereitstellung von Eclipse / OSGi plugins / Bundles und haben zwei Java-Quellverzeichnisse: src und Test

ich den Inhalt von zwei Eclipse-Projektdateien gezwickt habe Testcode aus dem Build zu trennen.

.classpath :

<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry export="false" kind="src" path="test"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry export="false" kind="lib" path="/thirdparty/junit/junit.jar"/>
    <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Diese Änderungen wurden motiviert von dieser Lesen

Ich weiß nicht, ob dies auf Ihre Situation zutreffen, aber ich hatte auch eine build.properties Datei zu ändern, um die Ergebnisse der Zusammenstellung ‚Tests‘ aus der erzeugten JAR-Datei ausschließen.

source.optimizing.jar = src/
#This doesn't contain test/ because we don't want it in the build.

bin.includes = META-INF/,\
               optimizing.jar
#The junit.jar is also exluded               

Als ich das gesamte Projekt zu bauen, sind die Testdateien vollständig fehlen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top