Démarrez jnlp qui a expiré et ne peut plus être démarré sans utiliser Java Web Start

La sécurité Java est de plus en plus stricte. J'ai l'impression qu'Ora * le me dit de quitter Java.

Lorsqu'on m'a demandé d'émettre un certificat électronique car le certificat était sur le point d'expirer, j'ai reçu une clé USB qui ne peut être reconnue que par WinPC. Mais je n'ai pas WinPC sous la main. J'ai un environnement de test, mais je ne peux pas démarrer à partir de jnlp car je ne peux pas signer.

Je vais donc lancer l'application sans utiliser Java Web Start. ** Remarque: à des fins de test uniquement. Non recommandé. ** **

Conclusion

Supposons que vous ayez un fichier jnlp qui ressemble à ceci.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="http://127.0.0.1/application/">
  <information>
    <title>test_project</title>
    <vendor>Kai Shoya</vendor>
    <description/>
  </information>
  <resources>
    <jar href="main.jar"/>
    <jar href="library.jar"/>
    <j2se version="1.7+" initial-heap-size="512m" max-heap-size="1024m"/>
  </resources>
  <application-desc main-class="com.example.test.Main"/>
  <security>
    <all-permissions/>
  </security>
</jnlp>

Faites-le de cette façon. (vocabulaire...

#!/bin/bash
URL="http://127.0.0.1/application"
SCRIPT_PATH="$(cd $(dirname $0); pwd)"
LIB_PATH="$SCRIPT_PATH/lib"

mkdir -p $LIB_PATH
cd $LIB_PATH

curl -O "$URL/main.jar"
curl -O "$URL/library.jar"

java -cp "$LIB_PATH/*" com.example.test.Main

Il y a trois points.

  1. Combinez <jnlp code base =" http: /127.0.0.1/application "> et <jar href =" main.jar "/> et récupérez avec curl

  2. Passez le chemin du fichier téléchargé avec java -cp Le chemin ne va pas bien avec -cp et -jar

  3. <application-desc main-class =" com.example.test.Main "/> est le nom de la classe principale

Veuillez noter que même si vous réécrivez jnlp de cette manière, une erreur de sécurité se produira. Il a fallu des heures pour résoudre ce problème. .. ..

<jnlp codebase="./lib/">

Recommended Posts

Démarrez jnlp qui a expiré et ne peut plus être démarré sans utiliser Java Web Start
Problèmes facilement confondus avec Java et JavaScript
Après avoir utilisé Android Studio 3, les dépendances des applications Java ne peuvent plus être résolues, alors que faire à ce sujet
Ruby 2.7.2 a été publié et les avertissements obsolètes ne seront plus émis par défaut
Création d'un environnement où kotlin peut être compilé avec cli avec docker et exécuté avec java