Java-baserade applikationer fungerar vanligtvis ganska smidigt med några enstaka krascher här och där. Ett av dessa mest diskuterade fel är "Java (TM) Platform SE binär har slutat fungera", som vissa användare har rapporterat att de bevittnat när de försökte köra Java-baserade applikationer på sina system. I de flesta fall är konflikten mellan grafikkortets drivrutin och Java-plattformen roten till orsaken. Om du står inför samma dilemma, följ bara dessa korrigeringar.
Innehållsförteckning
Fix 1 – Uppdatera grafikkortets drivrutin
Att uppdatera grafikkortets drivrutin borde fungera.
Vi har visat hur man enkelt uppdaterar ett NVIDIA-kort. Om du använder ett Radeon-kort eller ett Intel-kort är stegen olika men metoden är liknande.
1. Öppna först Geforce Experience.
2. När GeForce Experience öppnas, klicka på "FÖRARE” område.
3. Efter det, tryck på "LADDA NER“.
Nu kommer Geforce Experience att ladda ner den senaste drivrutinen för ditt kort.
4. När det är klart, tryck på "Snabbinstallation“.
Följ nu instruktionerna på skärmen för att slutföra installationen.
Efter installation av drivrutinen, omstart systemet en gång. Detta kommer att lösa problemet du står inför.
Fix 2 – Avinstallera och installera om Java
Du kan avinstallera och installera om Java-verktygen från ditt system.
Steg 1
1. Tryck först på Windows-tangent+X nycklar tillsammans.
2. Tryck sedan på "Appar och funktioner” för att öppna sidan Inställningar.
3. Nu, på höger sida, skriv "Java" i sökrutan.
4. Dessa öppnar listan över Java-appar på ditt system.
5. Efter det, tryck på trepunktsmenyn bredvid den första Java-appen och tryck på "Avinstallera“.
6. Återigen, bekräfta din åtgärd tryck på "Avinstallera“.
Detta kommer att avinstallera Java-appen från ditt system.
7. Följ nu samma metod och avinstallera andra Java-appar i listan.
Stäng sedan inställningarna.
Steg 2
Nu måste du ladda ner den senaste versionen av Java-verktygslådan och installera den.
1. Öppna först Ladda ner Java-arkiv sektion.
2. Välj sedan rätt verktyg och version att ladda ner och tryck på den.
3. Du måste logga in med dina Oracle-uppgifter. Detta kommer att starta nedladdningsprocessen.
När du har laddat ner den stänger du webbläsarfönstret.
4. Efter det, dubbelklicka på den nedladdade installationsfilen.
5. Tryck sedan på "Nästa” för att installera de olika Java-verktygen på ditt system.
Försök nu att använda den Java-baserade appen och testa om du fortfarande ser samma felmeddelande eller inte.
Fix 3 – Ändra miljövariablerna
Konfigurering av nya miljövariabler bör lösa problemet du står inför just nu.
1. Tryck först på Windows-tangent+R nycklar tillsammans.
2. Skriv sedan detta UTR-kommando och tryck på "OK“.
sysdm.cpl
Detta öppnar fönstret Systemegenskaper.
3. När panelen Systemegenskaper öppnas, gå till "Avancerad"-fliken.
4. Klicka här på "Miljövariabler...”.
5. Klicka nu på "Ny…" alternativet för att skapa en ny variabel.
6. Sen Lägg "_JAVA_OPTIONS” i rutan för variabelnamn.
7. Efter det, skriv "-Xmx256M” i avsnittet för variabelt värde.
8. Klicka slutligen på "OK” för att spara ändringen.
9. För att komma tillbaka till sidan Miljövariabler, tryck på "OK” för att spara ändringarna.
10. Klicka slutligen på "Tillämpa" och "OK" alternativet.
Stäng sedan fönstret Systemegenskaper. Nu, starta om maskinen en gång.
Du kommer inte att se Java-felmeddelandet på ditt system igen.
Fix 4 – Kör ett skript
Du kan skapa och köra ett enkelt skript för att ta bort all äldre Java från systemet.
1. Starta först Anteckningar.
2. Sedan, kopiera klistra in alla dessa rader i Anteckningsblocket.
#Det här skriptet används för att ta bort alla gamla Java-versioner och lämna endast de senaste. #Original författare: mmcpherson #Version 1.0 - skapad 2015-04-24 #Version 1.1 - uppdaterad 2015-05-20 # - Nu även upptäcker och tar bort gammal Java icke-uppdaterade basversioner (d.v.s. Java-versioner utan uppdateringsnummer) # - Tar nu även bort Java 6 och lägre, plus tillagd möjlighet att manuellt ändra detta beteende. # - Lade till standardbeteende för avinstallation för att aldrig starta om (använder nu msiexec.exe för avinstallation) #Version 1.2 - uppdaterad 2015-07-28 # - Bugfixar: nollarray- och op_addition-fel. # VIKTIG ANMÄRKNING: Om du vill att Java-versionerna 6 och lägre ska finnas kvar, redigera nästa rad och ersätt $true med $false $UninstallJava6andBelow = $true #Declare version arrays $32bitJava = @() $64bitJava = @() $32bitVersions = @() $64bitVersions = @() #Utför WMI-fråga för att hitta installerade Java-uppdateringar om ($UninstallJava6andBelow) { $32bitJava += Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -matcha "(?i) Java(\(TM\))*\s\d+(\sUpdate\s\d+)*$" } # Hitta även Java version 5, men hanteras något annorlunda eftersom CPU-biten bara kan särskiljas av GUID $32bitJava += Get-WmiObject -Class Win32_Product | Where-Object { ($_.Name -match "(?i) J2SE\sRuntime\sEnvironment\s\d[.]\d(\sUpdate\s\d+)*$") -och ($_.IdentifyingNumber -match "^\{32") } } else { $32bitJava += Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -match "(?i) Java((\(TM\) 7)|(\s\d+))(\sUppdatera\s\d+)*$" } } #Utför WMI-fråga för att hitta installerade Java-uppdateringar (64-bitars) if ($UninstallJava6andBelow) { $64bitJava += Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -matcha "(?i) Java(\(TM\))*\s\d+(\sUpdate\s\d+)*\s[(]64-bitars[)]$" } #Hitta även Java version 5, men hanteras något annorlunda eftersom CPU-biten bara kan särskiljas av GUID $64bitJava += Get-WmiObject -Class Win32_Product | Where-Object { ($_.Name -match "(?i) J2SE\sRuntime\sEnvironment\s\d[.]\d(\sUpdate\s\d+)*$") -och ($_.IdentifyingNumber -match "^\{64") } } else { $64bitJava += Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -match "(?i) Java((\(TM\) 7)|(\s\d+))(\sUppdatera\s\d+)*\s[(]64-bitars[)]$" } } #Räkna upp och fyll i en rad versioner Foreach ($app i $32bitJava) { if ($app -ne $null) { $32bitVersions += $app. Version } } #Räkna upp och fyll i en rad versioner Foreach ($app i $64bitJava) { if ($app -ne $null) { $64bitVersions += $app. Version } } #Skapa en array som är korrekt sorterad efter den faktiska versionen (som ett system. versionsobjekt) snarare än efter värde. $sorted32bitVersions = $32bitVersions | %{ New-Object System. Version ($_) } | sortera $sorted64bitVersions = $64bitVersions | %{ New-Object System. Version ($_) } | sortera #Om ett enstaka resultat returneras, konvertera resultatet till en enstaka värdematris så att vi inte stöter på problem med att anropa .GetUpperBound senare if($sorted32bitVersions -isnot [system.array]) { $sorted32bitVersions = @($sorted32bitVersions)} if($sorted64bitVersions -isnot [system.array]) { $sorted64bitVersions = @($sorted64bitVersions)} #Ta tag i värdet för den senaste versionen från arrayen, konvertera först $newest32bitVersion = $sorted32bitVersions[$sorted32bitVersions. GetUpperBound (0)] $newest64bitVersion = $sorted64bitVersions[$sorted64bitVersions. GetUpperBound (0)] Foreach ($app i $32bitJava) { if ($app -ne $null) { # Ta bort alla versioner av Java, där versionen inte matchar den senaste versionen. om (($app. Version -ne $newest32bitVersion) -och ($newest32bitVersion -ne $null)) { $appGUID = $app. Egenskaper["Identifierande nummer"].Värde. ToString() Start-Process -FilePath "msiexec.exe" -ArgumentList "/qn /norestart /x $($appGUID)" -Wait -Passthru #write-host "Avinstallerar 32-bitars version: " $app } } } Foreach ($app i $64bitJava) { if ($app -ne $null) { # Ta bort alla versioner av Java, där versionen inte matchar den senaste version. om (($app. Version -ne $newest64bitVersion) -och ($newest64bitVersion -ne $null)) { $appGUID = $app. Egenskaper["Identifierande nummer"].Värde. ToString() Start-Process -FilePath "msiexec.exe" -ArgumentList "/qn /norestart /x $($appGUID)" -Wait -Passthru #write-host "Avinstallerar 64-bitarsversion: " $app } } }
3. Tryck sedan på "Fil" och tryck på "Spara som" alternativet.
4. Välj filtyp som "Alla filers”.
5. Efter det, namnge det som "Remove_old_java_versions.ps1" och tryck på "Spara” för att spara skriptet.
När du har sparat filen stänger du anteckningsblocket.
6. Efter det, högerklicka på denna "Remove_old_java_versions" powershell script och tryck på "Kör med powershell“.
Detta tar bort den äldre, skadade Java-installationen från ditt system.
Fix 5 – Rengör Java-cachen
Du måste rensa Java-cachen.
1. Skriv först "Konfigurera Java" i sökrutan.
2. Tryck sedan på "Konfigurera Java" för att komma åt den.
3. Gå nu till "Allmän"-fliken.
4. Klicka här på "Inställningar…" för att komma åt den.
5. Tryck nu på "Radera filer...”.
6. Tryck sedan på "OK" för att gå vidare.
7. När du kommer tillbaka till sidan för inställningar för temporära filer trycker du på "OK“.
Slutligen, när du är klar, stäng alla fönster.
Testa om denna lösning fungerar eller inte.
Fix 6 – Kör programmet i kompatibilitetsläge
Det kan finnas ett problem med kompatibilitet för Java-appen.
1. Gå först till den här platsen -
C:\users\%username%\AppData\Local\Microsoft\Windows\WER\ReportArchive
2. Leta här efter felloggfilen.
3. Högerklicka sedan på felloggen och tryck på "Öppna med“.
4. Välj nu "Anteckningsblock“.
4. Leta nu efter "AppPath“. På så sätt kommer du att veta vilken Java.exe-fil som har orsakat problemet.
Vanligtvis är det så här
D:\appnamn\undermapp\ocx\jre\bin)
5. Nu är det bara att navigera till rotplatsen för denna Java-app.
6. Högerklicka sedan på "Java"-appen och tryck på "Egenskaper“.
7. Gå sedan till "Kompatibilitet"-fliken.
8. Efter det, kolla upp den "Kör det här programmet i kompatibilitetsläge för:" alternativet.
9. Välj sedan "Windows 8” från rullgardinsmenyn.
10. Spara sedan denna ändring med ett tryck på "Tillämpa" och "OK“.
Efter det, logga ut från webbgränssnittet eller någon annan tjänst du använder. Logga sedan in igen.
Försök att starta appen igen och kontrollera om detta fungerar eller inte. Ditt problem borde vara löst.