Est-il possible d'utiliser maven de la propriété dans la classe Java lors de la compilation
Je veux juste utiliser maven espace réservé dans ma classe Java au moment de la compilation afin de réduire les chevauchements.
Quelque chose comme ça:
pom.xml
<properties>
<some.version>1.0</some.version>
</properties>
SomeVersion.java
package some.company;
public class SomeVersion {
public static String getVersion() {
return "${some.version}"
}
}
Vous devez vous connecter pour publier un commentaire.
simplement de créer le fichier app.propriétés dans src/main/resources avec le contenu comme ceci
puis activer maven de filtrage comme ce
C'est tout - dans le code de l'application juste de lire un fichier de propriétés
et de fournir la méthode comme ceci
ClassPathResource
printemps-spécifique? L'OP n'a pas inclus lesspring
tag.Même si c'est pas une très belle solution, il est possible avec la valeur par défaut de maven plugin de ressource.
D'abord, vous devez spécifier le plugin de ressource.
Ensuite, vous aurez besoin de changer le "défaut" de la configuration du compilateur plugin.
La façon la plus simple que je connais de le faire est d'utiliser Création De Modèles Plugin Maven.
Ajouter plugin déclaration à votre pom:
Si vous êtes le filtrage des sources principales:
src/main/java-templates
src/main
.Si vous êtes le filtrage des tests de sources trop:
src/test/java-templates
src/test
.En supposant que vos sources contiennent valide espaces réservés comme:
Maintenant, quand vous
compile
outest
votre projet, ces espaces doivent être déjà valorisé.Espère que cela aide.
Si vous travaillez avec le Printemps, vous pouvez injecter une propriété. Les étapes sont les suivantes:
HTML:
HTML:
Sur la compilation finale, vous avez les valeurs correctes.