2012-04-16 22 views
9

Tengo un proyecto de Eclipse, que tiene dos carpetas de origen: 'src' y 'test'. Me gustaría que la compilación de ambas carpetas se transfiera a carpetas de salida separadas.Can Eclipse tiene varias carpetas de salida al igual que varias carpetas de origen

La razón es que estas dos carpetas tienen un archivo de propiedades denominado ServiceProviders.properties que tiene valores diferentes para la producción y las ejecuciones de prueba del código.

El problema es que, dado que solo hay una carpeta de salida donde se copian todas las clases compiladas, el archivo de propiedades en 'prueba' no se copia, y como resultado mi código de prueba obtiene la versión de producción del archivo de propiedades. Supongo que estoy tratando de simular la forma en que podemos tener diferentes classpaths en Maven (y su orden de búsqueda).

Si esto no funciona, usaré una propiedad JVM para especificar ciertos valores que puedo usar en el caso de prueba. Sin embargo, no parece una solución elegante.

Usar Maven hará que esto funcione, pero no puedo usar Maven en este proyecto.

Actualización 1:

Gracias por tanto las respuestas. Como eran idénticos, acepté el que se publicó anteriormente.

Upadte 2:

A pesar de que podría conseguir múltiples carpetas de salida de carpetas de origen correspondiente, que no resolvió mi problema original que era cargar un ServiceProviders.properties de prueba cuando corro casos de prueba, y el de src cuando ejecuto la aplicación en un servidor de Eclispe. La forma en que lo hice funcionar es creando un archivo jar separado con el archivo ServiceProviders.properties de la carpeta de prueba. En la configuración de ejecución de mis casos de prueba, agrego este archivo jar y cambio el orden, por lo que aparece como la primera dependencia para la búsqueda.

Respuesta

13

Sí, puede, acabo de comprobarlo. Si va a Propiedades de su proyecto, y luego a Java Build Path, donde elige sus diferentes carpetas de origen, también hay una opción llamada "Permitir carpetas de salida para carpetas de origen", que, si está marcada, agrega una salida editable- carpeta para cada una de sus carpetas de origen. simplemente selecciónelo y haga clic en el botón editar y estará bien

7

Fácil: haga clic en "Permitir carpetas de salida para las carpetas de origen" en la ruta de compilación Java | Pestaña Fuente Luego, cuando expande la configuración de cada carpeta, obtiene "Carpeta de salida"

0

En la vista PackageExplorer, haga clic en la carpeta fuente y seleccione "Configurar carpeta de salida ..." Ahora puede configurar la carpeta de salida por separado para cada carpeta fuente .

Cuestiones relacionadas