Skip to content

Instantly share code, notes, and snippets.

@tesseslol
Last active February 3, 2017 15:10
Show Gist options
  • Save tesseslol/b272a24f7bb763c1ed2b4184d7a54b47 to your computer and use it in GitHub Desktop.
Save tesseslol/b272a24f7bb763c1ed2b4184d7a54b47 to your computer and use it in GitHub Desktop.
Come usare una classe java in python

Come usare una classe java in python

Requisiti:

  • jython
  • python
  • jdk

Setup variabili D'ambiente

Aggiungere jython, python e le jdk nelle variabili d'ambiente appartenenti al gruppo PATH ( Variabili di sistema ):

  • C:\Program Files\Java\jdk\bin
  • C:\Program Files\Python
  • C:\Program Files\Jython\bin

Esempio: C:\Program Files\Jython\bin;C:\Program Files\Java\jdk\bin;C:\Program Files\Python;

Creare un gruppo CLASSPATH:

  • aggiungere la directory del progetto
  • aggiungere la directory JAVA/lib
  • aggiungere un punto (.)

Esempio: C:\Program Files\Java\jdk1.8.0_111\lib;.;C:\Users\Tessari Davide\PycharmProjects\test;

Configurare Jython:

Andate nella directory di installazione di jython e all'interno troverete un file denominato registry. Apritelo e modificatene una voce:

  • python.security.respectJavaAccessibility = false

Ora creiamo il nostro applicativo

File test.java:

class HelloWorldApp {
    public int variabile = 3;
    public HelloWorldApp(){

    }
    public String hola() {
        return "Hello World!"; // Display the string.
    }
}

Compilate il codice con il comando:
javac test.java

File python.py:

import HelloWorldApp
Hello = HelloWorldApp()
print(Hello.hola2())

Interpretate il codice con il comando:
jython python.py

Adesso si può usare la nostra libreria...

Come Utlizzare una classe java in un jar

Per utilizzare una classe jar dobbiamo creare un file python di questo tipo:

import sys
sys.path.append("C:\\Users\\Tessari Davide\\PycharmProjects\\test\\thron.jar")
from it.newvision.nvp.identity import AccessDeniedException
hola = AccessDeniedException()

Nel comando sys.path.append() bisogna inserire la path del file jar con le doppie \\ . Nel from importiamo la nostra libreria specificandogli la cartella di destinazione in cui è contenuta la classe (al posto dello \ usate il punto)
Exp: it.newvision.nvp.identity e la classe che vogliamo importare nel import Exp: AccessDeniedException

Crediti

E-mail: davidetessar@gmail.com
Autore: Davide Tessari

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment