#14337·graal

[GR-79625] graalpy-maven-plugin` 25.3.4.1: launcher creation fails with `FileNotFoundError` for `graalpy.exe` on Windows

Author: zenbonesCreated Aug 30, 2026Updated Sep 15, 2026
Labelsbugpython

Symptomprocess-graalpy-resources fails immediately, before any pip package installation:

[ERROR] Traceback (most recent call last):
[ERROR]   File "C:\Users\david\AppData\Local\Temp\create_launcher15929679633436647223.py", line 6, in <module>
[ERROR]     shutil.copy(vl, tl)
[ERROR] FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\david\\AppData\\Local\\org.graalvm.polyglot\\python\\python-home\\a2140a92df5a4bff360431b210f2dfe16199e2daeae7c603\\Lib\\venv\\scripts\\nt\\graalpy.exe'

Root cause — the plugin's launcher-creation script tries to shutil.copy a file named graalpy.exe out of the extracted GraalPy distribution's Lib\venv\scripts\nt\. That file does not exist in the 25.3.4.1 Windows embeddable distribution — the directory only ships activate.bat, deactivate.bat, venvlauncher.exe, venvwlauncher.exe. Confirmed by inspecting the full extracted python-home tree: no file named graalpy.exe exists anywhere in it. This lines up with the CPython 3.13 venv change that replaced copying an interpreter-named python.exe/pythonw.exe into venv\Scripts with the generic venvlauncher.exe/ venvwlauncher.exe redirectors — the 25.3.x distribution follows that newer layout, but the plugin's Windows launcher step still assumes an interpreter-named exe exists to copy.

Fix — pin graalvm.version to 25.0.2 or 25.2.4. Both produce a working graalpy.exe at <externalDirectory>/venv/Scripts/graalpy.exe. (25.2.4 doesn't show up in Maven Central's solrsearch index, which reports 24.2.1 as latest, but it resolves fine from a standard Nexus/Central proxy — index staleness, not a nonexistent version.)

Possibly related upstream reports: oracle/graal#12059, oracle/graalpython#434.