Comment obtenir une version de package à l'exécution de Tomcat?
Comment faire pour obtenir une version de package à l'exécution de Tomcat?
J'essaie getClass().getPackage().getImplementationVersion() mais cela revient toujours null
.
Je suppose que c'est parce que ma guerre n'était pas encore emballés et Tomcat s'exécute .classes (aka explosé de guerre).
META-INF\MANIFEST.MF
est présent dans la dernière guerre, mais pas dans target\<project.name>\META-INF
dossier
Paquet objets contiennent des informations de version sur la mise en œuvre
et la spécification d'une application Java. Cette version est
récupéré et mis à disposition par le chargeur de classe de l'instance qui a chargé
la classe(es). Généralement, il est stocké dans le manifeste qui est
distribué avec les classes.
Connexes est Obtenez de l'artefact Maven version au moment de l'exécution
Mise à JOUR. Avant, j'ai déjà ajouté de configuration pour la guerre de construction. Mais lors de l'exécution de Tomcat depuis Eclipse, je reçois null
.
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
<!-- this actually moves classes from \WEB-INF\classes to new jar
<archiveClasses>true</archiveClasses>
-->
</configuration>
</plugin>
OriginalL'auteur Paul Verest | 2013-02-18
Vous devez vous connecter pour publier un commentaire.
Résolu par
1) la Création de META-INF\MANIFESTE.MF en webapp avec
mvn war:manifest
2) le Codage
Grâce à @javadude réponse à Comment lire le fichier de manifeste pour une webapp cours d'exécution dans apache tomcat?
OriginalL'auteur Paul Verest
La source normale d'une version du paquet /titre /vendor informations d'attributs dans le fichier JAR manifeste. Voir la JAR Fichier de Spécification.
Si les getters retour
null
qui signifie que l'attribut correspondant n'a pas été spécifié. (Et c'est normal pour régulièrement les fichiers JAR).Oui, elle est liée à la question. La accepté de répondre décrit comment dire Maven pour ajouter un peu de Maven version de détails, pour un POT de manifeste, de sorte que vous pouvez y accéder au moment de l'exécution à l'aide de la
Package
API.Vous avez besoin pour créer des fichiers JAR, et de mettre les informations de version dans les JAR manifeste. Apparemment, vous pouvez également le faire à la GUERRE au niveau du fichier.
Référence: "Déployer: la Guerre de versions de Fichiers et de Manifester Reader" par Fred Puls.
Avant, j'ai déjà ajouté de configuration pour la guerre de construction.
OriginalL'auteur Stephen C