[JAVA] Parlez de passer par le chemin source lorsque delombok

Je n'ai pas beaucoup écrit sur le contenu de l'entreprise, mais il était inhabituellement chargé, alors j'ai pris une note. J'ai été pris dans un endroit où il n'y avait rien de tel, mais c'était une histoire.

Contexte

Une erreur qui ne peut pas être vérifiée lors de l'exécution d'un test sur le produit lors de l'introduction du test d'inspection. En ce qui concerne le contenu, l'outil ne peut pas résoudre le code généré automatiquement par lombok et le fichier entier sera exclu de la cible de vérification.

Par conséquent, le but est de rendre possible l'analyse en utilisant la fonction * delombok * qui peut générer le code généré automatiquement fourni par lombok. Il semble que la même méthode puisse être utilisée pour la génération javadoc.

Méthode de réalisation

Puisque la fourmi est utilisée pour la construction, ajoutez-la à la cible de la fourmi en vous basant sur l'exemple décrit officiellement. https://projectlombok.org/features/delombok

Il y a quelques différences, mais il semble que la classe à référencer diffère selon la version de lombok que vous utilisez. Spécifiez la classe suivante en fonction de la version que vous utilisez.

<taskdef classname="lombok.delombok.ant.DelombokTask" name="delombok" classpath="lombok.jar" />

Erreur et erreur

Une erreur se produit lors de l'exécution avec ant delombok. Compilez-vous une fois lorsque le code est sorti? Je ne pense pas pouvoir me référer à la bibliothèque. Ajoutez le chemin de classe utilisé dans la compilation normale afin de pouvoir faire référence à la bibliothèque.

<classpath refid="compile-classpath" />

Maintenant, je peux le compiler en toute sécurité, mais j'obtiens toujours une erreur ... Il semble que le contenu soit également une erreur de compilation et cette fois le fichier java du produit ne peut pas être référencé.

Normalement, lors de la compilation avec javac, il est nécessaire de spécifier explicitement le chemin source avec l'option srcdir```. Sinon, le chemin du package dans le fichier java ne peut pas être résolu.

Dans delombok, l'option spécifiée n'est pas décrite dans l'exemple. (Je pensais que ce serait bien dans le répertoire personnel de fourmi ...) Je passe quelques jours sans trouver de documentation et ne sachant pas quelles options spécifier ...

Après tout, si je le décrivais correctement à partir des options lors de l'exécution de la ligne de commande delombok, il pourrait être traité correctement.

<delombok verbose="true" encoding="UTF-8" to="[Destination de sortie du fichier après le traitement]" sourcepath="[Chemin source]">

L'objectif final était le suivant.

  <target name="delombok">
    <taskdef classname="lombok.delombok.ant.DelombokTask" name="delombok" classpath="lombok.jar" />

    <delombok verbose="true" encoding="UTF-8" to="[Destination de sortie du fichier après le traitement]" sourcepath="[Chemin source]">
      <fileset dir="Traitement du répertoire cible" includes="**/*.java" />
      <format value="suppressWarnings:skip" />
      <classpath refid="compile-classpath" />
    </delombok>
  </target>

N'y a-t-il pas un manuel ou une documentation officielle? ?? Cela semble probable, mais je ne l'ai pas trouvé ...

Après delombok, j'écrirai un autre script détaillé tel que le retour du caractère multi-octets remplacé par unicode.

Recommended Posts

Parlez de passer par le chemin source lorsque delombok
A propos de la spécification du chemin JAXRS
Lors de la lecture du code source
Twitter4j utilisé la source a échoué après le déploiement
À propos de la vitesse de récupération des valeurs depuis HashMap
Créer un objet sans passer par le constructeur