如何将Java项目的python文件包含到带有maven的.war中?

时间:2012-11-03 16:34:28

标签: java maven jython

我用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中编写什么,以便能够在笔记本电脑和服务器上使用相同的路径?

3 个答案:

答案 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 的工作/当前文件夹