5 votes

WSL et maven wrapper?

Je tente d'exécuter mon ./mvnw à partir d'un projet Spring Boot dans un WSL (Ubuntu) avec Windows 10 Enterprise Build 1803. Mais je reçois la même erreur à chaque fois :

: introuvable ./mvnw :
: introuvable ./mvnw :
./mvnw : 53 : ./mvnw : Erreur de syntaxe : mot inattendu (s'attendant à "in")

Le script fonctionne bien sur un serveur Linux normal. Pour obtenir une construction réussie, je dois aller dans Powershell et exécuter la même commande ("./mvnw install dockerfile:build") puis revenir à mon WSL et continuer.

La commande sert à construire une image Docker qui sera ensuite utilisée dans un Docker Compose.

Des idées ?

Merci

4voto

930913 Points 23

Il est probable qu'un problème ait perturbé les sauts de ligne dans le script mvnw.

Si vous avez dos2unix installé (sudo apt install dos2unix), vous devriez être en mesure de réparer le script avec dos2unix mvnw. Ou tout simplement le télécharger à nouveau.

0 votes

"Quelque chose a probablement perturbé les sauts de ligne". J'ai cloné le dépôt depuis Windows et maintenant j'essaie de construire depuis WSL contre mon lecteur Windows monté.

0 votes

J'ai eu le même problème en faisant exactement la même chose et cette réponse m'a rappelé que git cli met en fait à jour les sauts de ligne en fonction du système sur lequel vous vous trouvez.

0 votes

Notepad++ est également capable de changer les fins de ligne (Édition > Conversion de fin de ligne > Unix)

0voto

KHanusova Points 1

Si vous utilisez IntelliJ, vous pouvez ouvrir le fichier mvnw et dans le coin inférieur droit, vous aurez probablement "CRLF". Vous pouvez cliquer dessus et le changer en "LF". Voir https://www.jetbrains.com/help/idea/configuring-line-endings-and-line-separators.html#line_ending

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X