2010-10-12 15 views
10

Ho scaricato una copia di servlet-api.jar da java2s.com. Come faccio a sapere di che versione si tratta? Non ci sono riferimenti sul sito.Come faccio a sapere quale versione di servlet-api.jar ho?

EDIT

Ah. Scuse. Avrei dovuto elencato il contenuto dell'uscita WordPad quando ho cliccato due volte sul file MANIFEST.MF nel vaso che ho ottenuto:

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.6.5 
Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.) 

Come si può vedere mi ha ancora detto la versione da qui la domanda.

+0

Cosa vuoi fare con questo file JAR? Mi spaventa sempre ogni volta che si prende un file * separato * originariamente originato in un'implementazione (grande) e infatti non dovrebbe/potrebbe essere usato separatamente. – BalusC

+0

Stavo usando Tomcat 6 e sto migrando a Glassfish 3. Ho cercato la gerarchia Glassfish per il barattolo e non c'era. Ho altri problemi da risolvere prima, ma mi chiedevo se fosse necessario inserire i vasi a cui facevo riferimento in Tomcat durante la migrazione. – volvox

+0

Perché vorresti saperlo? Stai compilando usando 'javac' nella console di comando o così? Bene, in Glassfish l'API Servlet si trova all'interno di 'javaee.jar'. È comunque utile sapere che è possibile utilizzare i caratteri jolly '*' in classpath sin dalla versione 1.6 di Java in modo da poter semplicemente eseguire '/ path/to/appserver/lib/*' invece di definire separatamente ciascun JAR. Inoltre, non mischiare le implementazioni API. Assicurati che il tuo 'WEB-INF/lib' sia * free * delle librerie specifiche di servlet. – BalusC

risposta

11

è possibile ottenere da META-INF, è possibile esplorare il contenuto del file jar utilizzando win rar o tale utilità di archiviazione simile.

Name: javax/servlet/ 
Specification-Title: Java API for Servlets 
Specification-Version: 2.4 

Personalmente preferisco il repository Maven per il download di jar da.

5

è possibile estrarre il MANIFEST.MF dalla directory META-INF del file jar utilizzando

jar xf servlet-api.jar META-INF/MANIFEST.MF 

il manifesto per la versione 2.4 che viene fornito con Tomcat si presenta così per esempio

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.6.2 
Created-By: 1.4.2_06-b03 (Sun Microsystems Inc.) 

Name: javax/servlet/ 
Specification-Title: Java API for Servlets 
Specification-Version: 2.4 
Specification-Vendor: Sun Microsystems, Inc. 
Implementation-Title: javax.servlet 
Implementation-Version: 2.4.public_draft 
Implementation-Vendor: Apache Software Foundation 
+0

Oppure nella shell: '$ unzip -q -c /opt/tomcat/apache-tomcat-6.0.32/lib/servlet-api.jar META-INF/MANIFEST.MF | grep '^ Specification-Version'' = yields => 'Specifica-Versione: 2.5' (nota (a OP):' servlet-api * .jar' di solito non è "scaricato" separatamente dal server stesso, quindi si dovrebbe "basta sapere" che tomcat 6.0 implementa servlet-api 2.5, il barattolo stesso potrebbe essere chiamato qualsiasi cosa (come nel caso di w/glassfish)) – michael

+0

(scusa, ho appena capito che era un'antica domanda, non so perché l'ho trovato come una domanda posta di recente (taggata java). anche, solo per poter aggiungere qualcosa di effettivamente costruttivo, questa è una specie di duplicato di http://serverfault.com/questions/384172/keeping-application-library-versions-in- synch-with-server) – michael

0

E 'fondamentalmente all'interno file manifesto del JAR sotto /META-INF/MANIFEST.MF:

Name: javax/servlet/ 
Specification-Title: Java API for Servlets 
Specification-Version: 3.0 
Specification-Vendor: Sun Microsystems, Inc. 
Implementation-Title: javax.servlet 
Implementation-Version: 3.0.FR 
Implementation-Vendor: Apache Software Foundation 
10

utilizzare il frammento di codice qui sotto:

<%= session.getServletContext().getMajorVersion() %>. 
<%= session.getServletContext().getMinorVersion() %> 
+0

Qual è il problema con questo? – Tires

+0

la stessa domanda è qui. Trovo che sia il modo più semplice –

+0

La mia domanda era dovuta a voti negativi. Personalmente, sono d'accordo sul fatto che non vi sia alcun motivo per giocherellare con le voci manifest. – Tires

0

per i seguaci, se è in una distro jnlp, ci può essere un accompagnamento "version.xml" di file che ti dice cosa le versioni ogni vaso è rispettivamente.

Problemi correlati