From 38fa04b5409f1c01442a382a9cd35b34d13fd5b6 Mon Sep 17 00:00:00 2001 From: Mike Date: Wed, 29 Jul 2026 09:39:34 +0200 Subject: [PATCH] Copy bundled Runtime\bin JRE to output so MfApi finds java.exe. Co-authored-by: Cursor --- .gitignore | 3 +++ .../Models/AppSettings.cs | 2 +- .../Services/JavaRuntimeLocator.cs | 10 ++++++++++ .../ZA.CoreService.ESBCertificateManager.csproj | 11 +++++++++++ ZA.CoreService.ESBCertificateManager/appsettings.json | 2 +- 5 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8b03957..60d8d51 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,9 @@ x86/ [Aa][Rr][Mm]64/ bld/ [Bb]in/ +# Bundled JRE for MfApi +!ZA.CoreService.ESBCertificateManager/Runtime/bin/ +!ZA.CoreService.ESBCertificateManager/Runtime/bin/** [Oo]bj/ [Oo]ut/ [Ll]og/ diff --git a/ZA.CoreService.ESBCertificateManager/Models/AppSettings.cs b/ZA.CoreService.ESBCertificateManager/Models/AppSettings.cs index 97ae614..416ab06 100644 --- a/ZA.CoreService.ESBCertificateManager/Models/AppSettings.cs +++ b/ZA.CoreService.ESBCertificateManager/Models/AppSettings.cs @@ -46,7 +46,7 @@ public sealed class DatabaseSettings public sealed class RuntimeSettings { public string JavaExecutablePath { get; set; } = - @"C:\Program Files (x86)\Java\jre1.8.0_481\bin\java.exe"; + @"Runtime\bin\java.exe"; public string SonicClientLibraryPath { get; set; } = @"Runtime\SonicClient\lib"; diff --git a/ZA.CoreService.ESBCertificateManager/Services/JavaRuntimeLocator.cs b/ZA.CoreService.ESBCertificateManager/Services/JavaRuntimeLocator.cs index 1352b63..09b7235 100644 --- a/ZA.CoreService.ESBCertificateManager/Services/JavaRuntimeLocator.cs +++ b/ZA.CoreService.ESBCertificateManager/Services/JavaRuntimeLocator.cs @@ -34,12 +34,22 @@ public static class JavaRuntimeLocator yield return configuredPath.Trim(); } + // Relativ zum App-Output (bin\Debug\...\Runtime\bin\java.exe) + yield return Path.Combine( + AppContext.BaseDirectory, + "Runtime", + "bin", + "java.exe"); + yield return @"C:\Program Files (x86)\Java\jre1.8.0_481\bin\java.exe"; yield return @"C:\Program Files (x86)\Java\jre1.8.0_501\bin\java.exe"; + yield return + @"C:\Program Files (x86)\Java\jre1.8.0_501\bin\java.exe"; + yield return @"C:\Program Files\Java\jre1.8.0_481\bin\java.exe"; diff --git a/ZA.CoreService.ESBCertificateManager/ZA.CoreService.ESBCertificateManager.csproj b/ZA.CoreService.ESBCertificateManager/ZA.CoreService.ESBCertificateManager.csproj index d21c56a..fda21c4 100644 --- a/ZA.CoreService.ESBCertificateManager/ZA.CoreService.ESBCertificateManager.csproj +++ b/ZA.CoreService.ESBCertificateManager/ZA.CoreService.ESBCertificateManager.csproj @@ -20,6 +20,11 @@ + + + $(DefaultItemExcludes);Docs\** + + PreserveNewest @@ -29,6 +34,12 @@ PreserveNewest + + + PreserveNewest + Runtime\bin\%(RecursiveDir)%(Filename)%(Extension) + + PreserveNewest diff --git a/ZA.CoreService.ESBCertificateManager/appsettings.json b/ZA.CoreService.ESBCertificateManager/appsettings.json index ae23177..ea9755d 100644 --- a/ZA.CoreService.ESBCertificateManager/appsettings.json +++ b/ZA.CoreService.ESBCertificateManager/appsettings.json @@ -6,7 +6,7 @@ "ConnectionString": "Server=VWEBDEV01;Database=EsbZertifikatManager;Integrated Security=True;Encrypt=True;Column Encryption Setting=Enabled;Application Name=ZA.CoreService.ESBCertificateManager;TrustServerCertificate=True;" }, "Runtime": { - "JavaExecutablePath": "C:\\Program Files (x86)\\Java\\jre1.8.0_481\\bin\\java.exe", + "JavaExecutablePath": "Runtime\\bin\\java.exe", "SonicClientLibraryPath": "Runtime\\SonicClient\\lib", "SetupCompleted": true },