繁体   English   中英

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

[英]How to include python files of Java project into .war with maven?

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

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

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

</resource>

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

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

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

跑步见

在 Maven 中编译 Python 源代码

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM