我用maven制作Java项目。所以我有典型的maven项目布局。我使用Jython。所以我得到了一些python文件。我在Java类中通过PythonInterpreter使用。
我把我的python文件放在src / main / py文件夹中。我使用此路径通过解释器导入模块。它在我的笔记本电脑上工作正常。
问题是:
当我安装mvn时,这个文件夹不会发生战争
我读了关于maven资源插件并将此文件夹添加为资源。像这样:
<resources>
<resource>
<directory>src/main/py</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
在这种情况下,它将文件夹内容的所有内容添加到web-inf /直接,但不添加到src / main / py中。因此该路径对于war存档中的应用程序无效。
问题是:
我应该如何放置这个python资源以及我应该在pom.xml中编写什么,以便能够在笔记本电脑和服务器上使用相同的路径?
答案 0 :(得分:1)
您可以尝试在资源元素中包含targetPath,如下所示:
<resource>
<targetPath>../</targetPath>
<directory>src/main/py</directory>
<includes>
<include>**/*.py</include>
</includes>
</resource>
答案 1 :(得分:0)
我建议使用src / main / scripts文件夹并检查它们是否打包到战争中,如果这不起作用,请检查maven-war-plugin的文档并使用war plugin as described in the documentation定义它
答案 2 :(得分:0)
<resources>
<resource>
<directory>src/main/py</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
实际上足以包含到 jar/war 文件中。
跑步见
Compile Python Sources in Maven
不建议在你的python脚本中使用src/main/py
,
将 src/main/py
视为 Python 的工作/当前文件夹