una poner imagen como boton java eclipse unit-testing classpath

java - como poner una imagen a un boton en eclipse



Entradas de Eclipse classpath solo se usan para pruebas (5)

En Maven, puede tener dependencias de tiempo de compilación y dependencias de prueba . Esta es una característica que me encanta, y el complemento M2Eclipse también está disponible en Eclipse, lo cual es genial. Entonces, si agrego jmock.jar a mi proyecto como una dependencia de prueba, aparecerá en el classpath para las pruebas de JUnit, pero no estará presente cuando esté depurando la aplicación en sí.

Esto es exactamente lo que me gustaría lograr ahora, pero sin M2Eclipse o Maven. ¿Hay alguna manera de hacer esto en Eclipse? (Posiblemente sin instalar ningún plugin.)


Como usas tanto Eclipse como Maven, puedes solucionarlo. Cree una nueva configuración de ejecución "Maven Build" con el objetivo "exec: java" y los parámetros "exec.mainClass = com.example.Starter". De esta manera la ruta de clase será calculada por Maven.


Eclipse Photon finalmente agregó esta característica, con soporte de m2e para ello.


En realidad, si observa en eclipse la forma en que Maven integra las dependencias no hará la diferencia en las dependencias de prueba o de tiempo de ejecución a las que siempre estarán accesibles las bibliotecas de prueba.

Maven mantendrá la diferencia al empaquetar la aplicación y cuando genere el classpath de tiempo de ejecución si maven tiene control sobre la ejecución de esa parte. Cuando se trata de eclipse, Maven simplemente los agrega a la ruta de compilación del eclipse.

¿Por qué necesitas separar esto así? ¿Qué te ayudará a lograr esto?



Podría separar todas sus pruebas en otro proyecto y agregar el proyecto principal como una dependencia ( Proyecto-> Propiedades -> Java Build Path -> Proyectos -> Agregar ... )

Actualización: para evitar cambiar la estructura del proyecto original, sus proyectos de prueba pueden usar ubicaciones vinculadas.

Cree el proyecto de prueba normalmente, ahora necesita crear un recurso vinculado para traer la carpeta src / test / java. Es mejor crearlo utilizando una variable para que sus proyectos puedan conservar cierta independencia de la plataforma. Para crear una nueva carpeta vinculada, seleccione Nueva -> Carpeta , ingrese fuente en el campo de la carpeta: luego haga clic en Avanzado >>

Haga clic en Vincular a carpeta en el sistema de archivos. Haga clic en Variables ... para abrir el diálogo Seleccionar variable de ruta .

Si esta es su primera vez, o si se está vinculando a una nueva ubicación, seleccione Nuevo ... y asigne a la variable un nombre y una ruta adecuados. Si todos sus proyectos están ubicados en c: / espacios de trabajo / foo **, tiene sentido llamar a la variable ** WORKSPACE_ROOT y asignarle esa ruta. Si tiene alguna otra convención, está bien, pero tiene sentido poner un comentario en el archivo .project para que alguien tenga la oportunidad de averiguar cuál debe ser el valor correcto.

Asumiendo los valores anteriores, ahora puede establecer un valor de WORKSPACE_ROOT / [nombre del proyecto] / src en el campo de entrada

Una vez que confirme que debería ver la carpeta src con una pequeña flecha, y si mira en el archivo .project vea algo como esto:

<linkedResources> <link> <name>src</name> <type>2</type> <locationURI>WORKSPACE_ROOT/esf-ns-core-rp/src</locationURI> </link><!--NOTE the WORKSPACE_ROOT variable points to the folder containing the subject project''s sandbox--> </linkedResources>

Ahora puede agregar la carpeta src / test / java como una ubicación de origen normalmente.

Tenga en cuenta que también puede compartir la carpeta src / test / java cambiando la configuración a algo como esto:

<linkedResources> <link> <name>src/test/java</name> <type>2</type> <locationURI>WORKSPACE_ROOT/my-project/src/test/java</locationURI> </link> </linkedResources>

Esto le da más control sobre la configuración, pero tendría que repetir para src / test / resources, src / it / java etc.

A continuación, configura todas las dependencias de prueba solo en el proyecto de prueba.

No muy bonito, pero funciona (también lo he usado en el que mi nivel de cumplimiento de prueba es diferente del nivel de cumplimiento principal, por ejemplo, 1.5 para pruebas, pero 1.4 para el entorno de destino).