我在写一个Jython项目来创建一个文本编辑器。数据模型完全用Python编写,并使用外部库,如鼻子,忍者和层。文本编辑器的GUI使用Java Swing库。我试图建立这个项目使用Maven,并发现了this useful plugin,我已经包含在我的POM文件像这样:如何在Jython项目中使用Maven导入Python模块?
<plugin>
<groupId>net.sf.mavenjython</groupId>
<artifactId>jython-compile-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jython</goal>
</goals>
</execution>
</executions>
<configuration>
<libraries>
<param>nose</param>
<param>ply</param>
<param>jinja</param>
</libraries>
</configuration>
</plugin>
当我mvn package
项目,我得到一个成功的构建消息和jar,所有的Python模块都保存在由target/classes/Lib中Maven插件创建的文件夹中。到目前为止好,但是当我尝试运行jar,我不能让我的Python代码找到Python库,并得到该错误消息:
java -jar target/text_editor-0.0.1-SNAPSHOT.jar
Exception in thread "main" Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<string>", line 2, in <module>
File "__pyclasspath__/text_editor/main.py", line 13, in <module>
File "__pyclasspath__/pymodel/pyfile.py", line 1, in <module>
File "__pyclasspath__/pymodel/pyflex.py", line 1, in <module>
ImportError: No module named ply
错误线是import ply.lex as lex
有什么留在我的插件配置?或者我需要添加来构建链接的POM文件中的其他内容?我不是Maven专家,所以我可能错过了其他人显而易见的事情。有没有其他方式使用Maven在Jython项目中导入Python模块?任何指针非常感谢:)