簡體   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