Pregunta

Tengo una aplicación web básica (proyecto web dinámico en Eclipse) con un proyecto EAR asociado. Estoy tratando de asegurarse de que mi código de prueba JUnit se queda fuera del archivo EAR despliegue.

En mi proyecto web que tienen una carpeta de origen llamado "src" y uno llamado "test". Necesito mantener los archivos .class de la "prueba" OUT carpeta de origen de la EAR cuando la exportación usando eclipse.

Sé que esto es trivial utilizando hormigas, pero parece imposible usando Eclipse .. proyecto botón derecho del ratón y exportar el archivo del oído .. las clases de prueba se incluyen siempre.

Si puedo editar manualmente el archivo .setting / org.eclipse.wst.common.component.xml para eliminar la etiqueta asociada con la carpeta de prueba que funciona, pero si algunos otros desarrolladores cambian todo lo relacionado con la trayectoria de la estructura, que se regenera ...

Me estoy perdiendo algo obvio .. He buscado en Google como un loco en vano .. comprobado documentos de eclipses y estoy en una pérdida ..

¿Fue útil?

Solución

No parece ser directamente posible, lo cual es extraño. He aquí un par de soluciones que usted podría intentar.

Nota Movería los archivos de Java del proyecto web a un proyecto Java (esto es probablemente una buena práctica a seguir de todos modos). De cualquier manera crear otro proyecto Java "prueba" y mover las fuentes de prueba para ese proyecto. Su proyecto de la prueba declara el proyecto Java "principal" como una dependencia por lo que tiene acceso a los tipos de pruebas, pero no está incluido en la guerra, por lo que no se desplegará las clases de prueba.

Alternativamente, si desea mantener las fuentes en un proyecto, se puede configurar el proyecto de prueba a utilizar los recursos vinculados. He publicado otra respuesta que muestra cómo se puede utilizar los recursos vinculados a compartir ubicaciones de origen a través de proyectos. Con este enfoque las fuentes de prueba todavía no están en la trayectoria de la estructura para el proyecto principal, por lo que no se incluirá en el frasco, pero se encuentran físicamente en el proyecto, de modo de control de origen es más simple.

Otros consejos

estoy haciendo algo similar, excepto con la PDE, Usando Eclipse 3.7. Estoy desplegando Eclipse / OSGi plugins / paquetes, y tengo dos directorios fuente de Java: src y prueba

He retocado el contenido de dos archivos de proyecto Eclipse para separar el código de prueba de la acumulación.

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

Estos cambios fueron motivados por la lectura este

No sé si esto se aplica a su situación, pero también he tenido que modificar un archivo build.properties , para excluir los resultados de la compilación de 'prueba' del archivo jar producido.

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               

Cuando construyo todo el proyecto, los archivos de prueba están completamente ausentes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top