2009-06-03 2 views
21

He heredado una aplicación que usa Spring. Los desarrolladores originales no están disponibles. El archivo jar Spring es simplemente "spring.jar", por lo que no hay ninguna versión # en el nombre del archivo para ayudarme. Me gustaría descargar la fuente Spring correspondiente al archivo jar. El archivo MANIFEST.MF tiene "Spring-Version: 1.2"; sin embargo, eso no es lo suficientemente preciso. He visto la versión 1.2.1 y 1.2.9 y no coincide bastante bien. La clave es que org.springframework.web.servlet.view.AbstractCachingViewResolver tiene un método que se llama prepareView de resolveViewName y no parece estar en 1.2.1 o 1.2.9.Need Spring version # - solo tiene el archivo spring.jar

¿Hay alguna forma fácil de localizar la versión correcta?

Respuesta

44

Esto lo hará:

import org.springframework.core.SpringVersion; 

public class VersionChecker 
{ 
    public static void main(String [] args) 
    { 
     System.out.println("version: " + SpringVersion.getVersion()); 
    } 
} 

compilar y ejecutar este con spring.jar en su CLASSPATH y que va a mostrar la versión para usted. Vea el javadocs también.

+0

Volvió como "1.2" :( –

+0

He probado esto contra Spring JAR que tengo en mi escritorio. Pude distinguir entre 2.5.2, 2.5.6 y 3.0.0.M2, así que digo el el código es correcto. Además, es una clase de Spring, ¿vas a dudar de ellos? Parece que tienes 1.2. – duffymo

+0

Acabo de comprobarlo en otro spring.jar que es un trabajo anterior. No tenía idea de la versión, pero vino el código de vuelta con 1.2.6. No estoy seguro de por qué solo obtiene 1.2. – duffymo

3

¿Qué hay de la suma de comprobación del archivo JAR y comparándolo con los archivos spring.jar en las distribuciones de SpringSource? Podría tomar una hora o más para hacer las descargas, pero debería ser definitivo.

2

Según mvnrepository.com 1.2.9 pesos 2.2MB y 1.2.1 pesos 2.0MB, esa página también tiene un enlace para la descarga de ambos. Creo que la diferencia de peso es suficiente para comparar los archivos. Si no puede ver la diferencia, solo suma de comprobación. Si no puede ver una relación ni con 1.2.1 ni 1.2.9, puede usar la página para descargar cualquier otra versión rápidamente (la uso frecuentemente)

NOTA: Si su JAR está por debajo de 2.0MB, entonces ' m afraid duffymo tiene razón y su JAR es 1.2

+1

No veo cómo el tamaño es relevante para determinar la versión. La versión 1.2.6 que tengo es de 1.8MB, pero no eligen el número de versión en función del tamaño. ¿Me perdí algo acerca de tu sugerencia? – duffymo

1

Puede intentar buscar dentro del MANIFEST.MF del jar en el directorio META-INF - debe indicar con qué versión está trabajando.

8

La manera muy fácil es conseguir la suma MD5 del archivo y google. Muchos sitios que almacenan archivos .jar también indexan las sumas de MD5 que Google encuentra fácilmente. Esto funciona muy bien para prácticamente cualquier componente de Java.

$ md5sum spring-2.5.5.jar 
82a2134b227f717066da4f4b059925d3 

http://www.google.com/search?q=82a2134b227f717066da4f4b059925d3

3

Usted cann comprobar en pom.xml en <org.springframework-version> etiqueta.

0

ir al directorio MATA-INF y abra file.It manifiesta estará allí la versión que está utilizando.