XXX.getClass.getClassLoader.getResourceAsStream的方式加載文件,總是為null加載不到數據


我在用如下的代碼加載配置文件的時候,總是加載不到數據,文件位置的對的

DBCP_Utiles01.class.getClassLoader().getResourceAsStream("dbcp.properties")

資源路徑在idea的resources路徑下

解決辦法:

  • 1、查看下你的工程是不是被加載為maven工程,如果不是,右擊下pom文件,as maven project ,變成pom工程先

  • 2、查看設置里面是否標識了resources文件夾

  • 3、resources下的配置文件有沒有輸出到target目錄

對於MAVEN項目,Eclipse會自動把項目src\main\java\目錄下的配置文件(.xml)和資源文件(.properties)搬運到target目錄下,而intellij idea默認是不會幫我們做這件事的。

首先排除打包方式是pom

把它刪掉或者改成打包為war包,同時plugin也要為war版本,否則報webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update)錯誤

      <plugins>
           <plugin>
              <artifactId>maven-war-plugin</artifactId>
              <version>3.0.0</version>
          </plugin>
      </plugins>

上面都沒有問題時,在pom文件加入配置

  <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.yml</include>
                    <include>**/*.xml</include>
                    <include>**/*.tld</include>
                    <include>**/*.xls</include>
                    <include>**/*.xlsx</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.yml</include>
                    <include>**/*.tld</include>
                    <include>**/*.xls</include>
                    <include>**/*.xlsx</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

這段配置的意思就是把src/main/java和src/main/resources目錄下所有的<include>里配置的相關文件都包含進去
同樣,想包含其他什么文件,比如.txt文件,再加一個<include>標簽類似的寫法即可。

再把項目“Reimport”(右鍵選中項目->Maven->Reimport)一下,啟動服務器


參考鏈接:https://www.cnblogs.com/lyh233/p/12746122.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM