4

我有用 maven 制作的 Java 项目。所以我有典型的 Maven 项目布局。我使用 Jython。所以我得到了几个python文件。我通过 Java 类中的 PythonInterpreter 使用它。
我将我的 python 文件放在 src/main/py 文件夹中。我使用这个路径通过解释器导入模块。它在我的笔记本电脑上运行良好。

问题是:
当我做 mvn install 时,这个文件夹不会进入战争。
我阅读了有关 Maven 资源插件的信息,并将此文件夹添加为资源。像这样:

<resources>
    <resource>
        <directory>src/main/py</directory>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
    </resource>
</resources>

在这种情况下,它将文件夹内容的所有内容直接添加到 web-inf/,但不在 src/main/py 中。因此该路径对战争档案中的应用无效。

问题是:
我应该如何放置这个 python 资源以及我应该在 pom.xml 中写什么,以便能够在笔记本电脑和服务器上使用相同的路径?

4

3 回答 3

1

您可以尝试在资源元素中包含 targetPath,如下所示:

<resource>
            <targetPath>../</targetPath>
            <directory>src/main/py</directory>
            <includes>
                <include>**/*.py</include>
            </includes>

</resource>
于 2014-04-15T19:31:57.420 回答
0

我建议使用 src/main/scripts 文件夹并检查它们是否打包到了战争中,如果这不起作用检查maven-war-plugin的文档并按照文档中的描述使用 war 插件定义它。

于 2012-11-03T17:12:19.490 回答
0
<resources>
    <resource>
        <directory>src/main/py</directory>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
    </resource>
</resources>

实际上足以包含到 jar/war 文件中。

跑步见

在 Maven 中编译 Python 源代码

不建议src/main/py在您的 python 脚本中使用,将其src/main/py视为 python 的工作/当前文件夹

于 2021-07-23T08:19:24.720 回答