Ich komme aus einer Java-Welt und bin völlig neu in Jython.PyDev: Jython-Module und Java-Klassen im selben Projekt
Ist es möglich, ein Projekt in Eclipse mit Jython- und Java-Klassen für dasselbe Projekt zu erstellen? Ich habe versucht, dies zu tun - eine einfache Java-Klasse zu schreiben und sie im Jython-Modul zu verwenden - und beim Codieren lief alles gut. Aber wenn ich versuche, das Projekt auszuführen, erhalte ich:
Traceback (most recent call last):
File "/home/bahman/Work/Jython/TestJython/src/com/bahmanm/Main.py", line 1, in <module>
from com.bahmanm import Greeter
ImportError: cannot import name Greeter
Die Java-Klasse ist: Paket com.bahmanm;
public class Greeter {
private String msg;
public Greeter() {
msg = "Hello, ";
}
public void greet(String name) {
System.out.println(msg + name);
}
}
Und das Jython Modul ist ganz einfach:
from com.bahmanm import Greeter
g = Greeter()
g.greet("Bahman")
ich schätzen würde irgendwelche Ideen/Hinweise.
Gibt es eine Möglichkeit, relative Pfade mit diesen Definitionen externer Bibliotheken zu verwenden? Ich hatte ein ähnliches Problem wie BahmanM, aber da meine Java und Python Klassen in verschiedenen Projekten waren, musste ich einen Pfad von root verwenden, was es nicht sehr portabel macht (zB mit/project/trunk/javaproject/src würde gut aus/project/trunk/jythonproject/scripts funktionieren, aber es würde fehlschlagen, wenn es als/project/branches/mybranch/javaproject/src ausgecheckt wird. Ich habe versucht, nach einer Variablen zu suchen, die den Arbeitsbereichswurzel definiert, aber bis jetzt hat mich die Dokumentation ratlos gemacht. –
Dies scheint nicht zu funktionieren. Ich habe eine einfache .class-Datei unter einem Paketstamm (d. H. In einem Verzeichnis namens "root"). Welches Verzeichnis ich auch immer in meinen PythonPath für das Projekt aufnehmen möchte, ich bekomme immer "unaufgelösten Import". Wenn Sie "add your java-code" sagen ... bedeutet das in Wirklichkeit eine .jar-Datei und nicht ein Verzeichnis? –