簡體   English   中英

IntelliJ IDEA-如何將.java文件復制為資源?

[英]IntelliJ IDEA - how to copy .java file as a resource?

我正忙於為自定義注釋處理器編寫集成測試。 為此,我通過Javac運行了一組特定的.java源文件,以測試我的實現。 這些由我的測試作為資源加載。 這意味着我的源代碼樹如下所示:

/src
  /test                            [test source root]
    /java
      MyIntegrationTest.java       [actual source code]
    /resources
      MyIntegrationClassFile.java  [should be treated as plain text]

使用IntelliJ,可以使用“編譯器設置”過濾將哪些文件復制為資源。 因此,我刪除了.java文件的過濾器。

但是,要復制資源,它們必須位於標記的源樹中。 我也將我的資源文件夾標記為測試源(是的,這很奇怪)。

這就是問題所在:如果.java文件位於源樹中(以便作為資源復制),它們將被自動編譯。 我不想編譯這些文件(它們可能無法編譯)。

我嘗試將資源添加到編譯器排除列表(不從項目中排除它),但這也導致資源未被復制。

據我所知,即使已針對其他文件類型記錄了此功能,也無法將.java文件標記為純文本。

如何將.java文件標記為應復制而不是編譯的純內容?

對我來說,當我將資源文件夾添加到“編譯器排除列表”時,它起作用了。

最初設定:

在此處輸入圖片說明

重建項目給了我這個輸出:

在此處輸入圖片說明

現在,我將src/test/resources添加到“編譯器排除列表”中:

在此處輸入圖片說明

重建后,我在輸出文件夾中有這個:

在此處輸入圖片說明

使用Idea 2016.3.3,轉到“項目結構”>“ src”>“測試”>“資源”,然后右鍵單擊它並選擇“ TestResources”。

然后在資源文件夾的“設置”>“構建,執行,部署”>“編譯器”>“排除”中添加一個排除規則。

還可以從“設置”>“構建,執行,部署”>“編譯器”>“資源”模式中刪除.java擴展名(如我所見,您已經完成了此操作)。

有用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM