Bir grup jython ve java kodunu bir araya getiren bir uygulama üzerinde çalışıyorum. Programın doğası gereği (wsadmin kullanarak) gerçekten Python 2.1Python'u kullanarak bir python komut dosyasını bir jar dosyasının içine nasıl çağırırsınız?
ile sınırlıyız. Şu anda hem java hem de .py modüllerini içeren bir kavanoz var. Kod şu anda java kullanılarak çağrılmaktadır, ancak bunu jython'a olabildiğince çok işlevsellik aktarma lehine çıkarmak istiyorum.
Sahip olduğum sorun, varolan jar dosyasının içindeki python modüllerini arama jython komut dosyasından almak veya yürütmek istememdir. Başarısız birkaç farklı yolu denedim. Denedim
application.jar
|-- com
|--example
|-- action
|-- MyAction.class
|-- pre_myAction.py
1 yaklaşım kavanoz ithalatı yapmak oldu: gibi
Benim dizin yapısı görünüyor. Kavanozu sys.path'e ekledim ve hem import com.example.action.myAction hem de import myAction'u kullanarak modülü almayı denedim. Ancak, her seviyede init .py dosyalarını dizine koyduğumda bile başarı yok.
Çalıştığım ikinci yaklaşım, kaynağı java sınıfını kullanarak yüklemek oldu. Bu yüzden aşağıdaki kodu yazdım: Bunların her ikisi de başarısız oldu. Şimdi nasıl devam edeceğime dair bir kayıp yaşıyorum. Herhangi bir fikir ?
şerefe,
Trevor benim için
nelerdir 'scriptName' ve 'scriptStr' içeriğinin? – badp
Kavanoz dosyasında. Jython'u çağırdığımdaki sınıf yolunda. Eğer sys.path yazdırırsam orada görürsünüz. Sadece kapsamlı olmak için sys.path.append() kullanarak kodu doğrudan koda eklemeye çalıştım ama herhangi bir fark yaratmadı. – Trevor
'zipimport''a (http://docs.python.org/library/zipimport.html) ve en alttaki örneğe bakın. "Init.py" yazdığınızda, __init __. Py' anlamına mı geliyor? –