簡體   English   中英

Java-如何從Java類引用資源文件

[英]Java - how to reference a resource file from Java class

我想在Java測試類中引用資源文件,它是密鑰庫文件。 通常,該屬性是從屬性文件加載的,該屬性文件指向本地或遠程運行的JDK。

當Maven在我的部署過程中執行構建時,它首先構建在構建服務器上。 我希望能夠將密鑰庫文件放置在類路徑上,因此我不必對構建服務器進行硬性依賴(因此我會將密鑰庫放置在構建服務器上)

當我在本地連接單元測試時,使用此配置可​​以正常工作,但是當我在構建服務器上執行構建時,此路徑失敗。 誰能闡明為什么會失敗? 我該怎么解決? 我想我知道為什么,但澄清會很好。

當前配置

<bean id="httpClient"
    class="myapp.HTTPClient">
    <property name="trustStoreLocation" value="..\\mywebapp\\target\\test-classes\\truststore" />
    <property name="trustStorePass" value="mypass" />
</bean>

對於資源文件,我更喜歡遵循Maven的標准目錄結構。 請閱讀(http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html)以獲取更多參考。 將類似(.cfg或.jks或.properties)的文件放置在src / test / resources和src / main / resources中會在構建時自動在類路徑中提供該文件。 此外,它使您能夠隔離測試文件和主要資源文件。

例如,我的pom.xml如下所示:

<build>
    <finalName>${project.artifactId}</finalName>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
        <resource>
            <directory>src/main/config</directory>
        </resource>
         <resource>
            <directory>src/main/resources</directory>
        </resource>
    </resources>
    <testResources>
        <testResource>
            <directory>src/main/config</directory>
        </testResource>
         <testResource>
            <directory>src/main/resources</directory>
        </testResource>
    </testResources>

    <!-- Other pom.xml stuff -->

</build>

現在,一種簡單的驗證文件是否已正確復制的方法是將jar制成表格並檢查所需文件。

mvn build

然后做:

jar -tf target/<your project jar>.jar | grep "<file name you want to verify>"

暫無
暫無

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

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