Jython可以在单个myapp-with-dependencies.jar中运行时导入lib,但在jython独立时则不能

时间:2015-02-13 13:14:33

标签: classpath jython

我有一个应用程序,它包含一些Java类和一些Python脚本;我使用Java代码中的Jython来调用Python脚本。

我的应用程序是使用Maven构建的,并生成一个普通的.jar文件,其中包含已编译的Java类,以及Python脚本作为资源。我还使用maven-assembly-plugin生成myapp-with-dependencies.jar,其中包含Jython依赖项内容中相同的plus包。

当我使用with-dependencies jar运行我的应用程序时:

java -classpath target/myapp-1.0.0-SNAPSHOT-jar-with-dependencies.jar com.example.myapp.Main

......它按预期工作。但是,当我使用两个独立的罐子运行它时:

java -classpath "target/myapp-1.0.0-SNAPSHOT.jar:/Users/richard/.m2/repository/org/python/jython-standalone/2.5.3/jython-standalone-2.5.3.jar" com.example.myapp.Main

...它失败了:当我要求Jython执行“import mylib”时,我得到一个例外:

ImportError: No module named mylib

在这两种情况下,类路径的确切内容应该完全相同,唯一的区别是在第一种情况下,一切都在一个罐子里,但在第二种情况下,它被分成两个罐子。

可能导致此行为的原因是什么?

0 个答案:

没有答案