Использование JClass в вашей тестовой программе некорректно. Java использовал пути к классам, чтобы найти root дерева для поиска методов. Это могут быть либо каталоги, либо файлы jar. Java файлы также должны быть скомпилированы, чтобы не загружать необработанный исходный файл java.
Сначала вы захотите скомпилировать тестовый код в файл класса, используя javac , Допустим, вы сделали это, и он создал C:\\Desktop\\TestProject\\src\\main\\classes\\
, который содержит com\\example\\helloworld\\SampleClass.class
.
Затем, когда мы запускаем JVM, мы даем ему путь к root из java классов. Вы можете разместить столько каталогов root или файлов JAR, сколько вы хотели бы в списке путей к классам. На Java классы ссылаются с точечной нотацией, так же как и имя пакета, поэтому это будет формат, используемый JClass.
Как только вы это сделаете, этот код должен работать
from jpype import *
startJVM("-ea", classpath=["C:\\Desktop\\TestProject\\src\\main\\classes\\"])
SampleClass = JClass("com.example.helloworld.SampleClass")
print(SampleClass.square(4))