2010-05-19 15 views
17

Acabo de dividir un archivo de configuración de Spring Bean en archivos externos más pequeños y he usado la directiva "import" para incluirlos en el archivo XML de contexto de la aplicación Spring Test.advertencia de Spring/Eclipse 'Bean no encontrado' cuando se usa <import>?

Pero cuando me refiero a una de las habas de los archivos importados recibo una advertencia dentro de Eclipse STS/editor de XML/Primavera quejándose de que " 'foo' grano de referencia no encontrado"

es que esto es un error o es ¿soy yo? Es realmente molesto porque no quiero desactivar la advertencia, pero en mi empresa tratamos de eliminar todas las advertencias.

Respuesta

23

¡Realmente me molestó también!

No estoy seguro de cuándo se introdujo esta característica, pero con versiones posteriores es posible agregar esta compatibilidad.

  1. Haga clic derecho sobre el proyecto en la vista de explorador primavera
  2. Haga clic en propiedades
  3. continuación
  4. Ver imagen:

alt text

No entiendo por qué no es comprobado por predeterminado, pero funciona como un amuleto después de haberlo habilitado.

Si no tiene esta opción con su versión, recomendaré encarecidamente descargar STS de SpringSource con todos los plugins necesarios de Eclipse incluidos.

+1

Mientras funciona el segundo enfoque de vonc. Creo que esta es la manera más simple y más adecuada de hacer esto. ¡Gracias! – HDave

+0

Para las importaciones, este enfoque es bueno. Para simplemente particionar la configuración (por ejemplo, seguridad en un archivo y ACL de seguridad en otro), el enfoque del conjunto de configuraciones de VonC funciona. –

+0

Esta solución no parece funcionar cuando el bean referenciado está en un proyecto complementario en Eclipse. Intenté agregarlos como un conjunto de configuración pero sin alegría – Marc

2

1) Es noble intentar eliminar todas las advertencias, pero no espere tener éxito. 10 advertencias por proyecto están bien, 500 no.

2) dicho eso, no es su error, es una característica que faltan deliberadamente en STS. deliberadamente, porque no tienen forma de saber cuál será tu classpath en tiempo de ejecución. Por supuesto, podrían resolver algunas declaraciones de importación, pero eso sería un comportamiento incoherente. En resumen, he aprendido a vivir con esta advertencia

6

Según this thread, esto podría ser similar a:

Tengo un problema (la verdad cosmética) con los plugins Spring IDE para Eclipse que yo No he podido resolverlo Tengo una situación en la cual los archivos de contexto A y B son importados por el contexto C. B hace uso de varios beans definidos en A, pero como nunca se usan de manera independiente (solo por C), esto no es un problema.

Sin embargo, el validador del plugin IDE Spring marca todas las referencias a beans en A en el archivo de contexto B como errores, diciendo algo así como "Bean referenciado 'foo' no encontrado bar.xml". Obviamente, esta es una afirmación correcta, pero en mi caso de uso no es un error.

hay dos maneras de resolver este problema:

  1. configurar único contexto C con Spring IDE y dejar que los otros archivos (A. B) manejados por el apoyo a las importaciones. Hacerlo no creará la advertencia. Asegúrese de no agregar A y B como archivos de configuración a Spring IDE, ya que también se validarán de forma independiente, lo que ocasionará el error de validación que está viendo.
  2. Configure un conjunto de configuración para A, B y C y no habilite el proceso de importación para el proyecto.
+2

¡Utilicé la opción n. ° 2 y funcionó como un amuleto! Siempre me pregunté cuál era el valor de los conjuntos de configuración dentro de un proyecto de Eclipse/Spring. ¡Ahora sé! Gracias una tonelada. – HDave

+0

Sí, la opción n. ° 2 se ocupa de las advertencias de validación. No hay importaciones involucradas tampoco. –

+0

La opción 2 funcionó para mí también. gracias :) –

Cuestiones relacionadas