oraios/serena · error · FileNotFoundError
Nextflow Language Server JAR not found at {jar_path}
Error message
Nextflow Language Server JAR not found at {jar_path} What it means
The Nextflow language server runs from a downloaded JAR. _get_or_install_core_dependency downloads the JAR to jar_path if absent, then re-checks existence; FileNotFoundError means the download produced no file at the expected path, so the server cannot be launched.
Source
Thrown at src/solidlsp/language_servers/nextflow_language_server.py:125
@classmethod
def update_dep_hashes(cls) -> None:
deps = [cls._create_dep_language_server()]
with DownloadedDependencyHashDatabase.get_instance().update_context() as db:
for dep in deps:
db.update(dep)
def _get_or_install_core_dependency(self) -> str:
version = self._custom_settings.get("nextflow_ls_version", DEFAULT_NEXTFLOW_LS_VERSION)
install_dir = os.path.join(self._ls_resources_dir, f"nextflow_language_server-{version}")
jar_path = os.path.join(install_dir, NEXTFLOW_LS_JAR_NAME)
if not os.path.exists(jar_path):
os.makedirs(install_dir, exist_ok=True)
log.info("Downloading Nextflow Language Server %s ...", version)
self._create_dep_language_server(version).download_to(jar_path)
if not os.path.exists(jar_path):
raise FileNotFoundError(f"Nextflow Language Server JAR not found at {jar_path}")
return jar_path
def _create_launch_command(self, core_path: str) -> list[str]:
java_exe = self._resolve_java()
jvm_options = self._custom_settings.get("jvm_options", [])
if not isinstance(jvm_options, list):
log.warning("The 'jvm_options' setting should be a list of strings. Ignoring the provided value: %s", jvm_options)
jvm_options = []
return [java_exe, *jvm_options, "-jar", core_path]
def _resolve_java(self) -> str:
"""
Locates a ``java`` executable (``java_home`` setting -> ``JAVA_HOME`` -> PATH) and verifies
that it is new enough to run the language server.
:return: the path to the java executable
"""
java_exe_name = "java.exe" if os.name == "nt" else "java"View on GitHub (pinned to 7fcbca7e62)
Solutions
- Check the configured server version has a published release/JAR and network access to its download URL, then retry
- Manually download the JAR into the install_dir at the exact expected jar_path filename
- Inspect logs from download_to for the underlying HTTP error; fix proxy/credentials and clear any partial files
Example fix
# before
ls = SolidLSP("nextflow") # auto-download fails behind proxy
# after
export HTTPS_PROXY=http://proxy.corp:8080
# or pre-place the jar at the expected install_dir/<version>/*.jar path
ls = SolidLSP("nextflow") Defensive patterns
Strategy: retry
Validate before calling
import os, glob install_dir = "<install_dir>" jars = glob.glob(os.path.join(install_dir, "**", "*.jar"), recursive=True) assert jars, "Nextflow LS JAR missing; pre-download or fix network access"
Type guard
def jar_present(install_dir: str) -> bool:
return any(install_dir.rglob("*.jar")) if hasattr(install_dir, 'rglob') else bool(glob.glob(os.path.join(install_dir, '**', '*.jar'), recursive=True)) Try / catch
try:
ls = SolidLSP("nextflow")
except FileNotFoundError as e:
if "JAR not found" in str(e):
manually_download_nextflow_jar(install_dir)
ls = SolidLSP("nextflow")
else:
raise Prevention
- Verify the pinned server version has a published release asset
- Allow egress to the JAR download host from CI/proxied networks
- Pre-download the JAR into install_dir for offline/air-gapped setups
When it happens
Trigger: First-run install where _create_dep_language_server(version).download_to(jar_path) silently fails or writes elsewhere (network error swallowed, wrong version tag with no release asset, proxy interference) and the follow-up os.path.exists(jar_path) check fails.
Common situations: Pinned version has no matching GitHub release asset; network/proxy blocking the download host; read-only or full install_dir preventing the write; offline CI environments.
Related errors
- BSL Language Server JAR not found at {jar_path} after instal
- Download failed? Could not find marksman executable at {mark
- Failed to locate or download MATLAB Language Server. Please
- Failed to install .NET {version} runtime using install scrip
- Download failed? Could not find ada_language_server executab
AI-assisted analysis of oraios/serena@7fcbca7e62 (2026-08-29).
Data as JSON: /api/errors/bff3ec8b93768269.
Report an issue: GitHub.