程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-IntelliJ IDEA中 子項目文件路徑問題,求解決

java-IntelliJ IDEA中 子項目文件路徑問題,求解決

編輯:編程綜合問答
IntelliJ IDEA中 子項目文件路徑問題,求解決

先看圖,然後我仔細解釋
最近發現找不到文件,同樣的代碼在eclipse中可以正常找到,對於idea不熟悉,所以來此請教,我是把一些文件拷resources目錄下,發現找不到了,使用相對路徑,我看到target/classes中是編譯過去了的啊,這個路徑該怎麼寫?
在eclipse中
(1) 主項目包含的兩個模塊 topsoft-test(web項目) topsoft-utils(java maven項目)
(2)(3)(4) 根據new File("log4j.xml);以及創建文件可以發現路徑是相對於子項目topsoft-utils

的跟路徑,(4)標注了這個測試類是在topsoft-utils中運行的
(5) 假如說我想訪問(5)標注處的這個文件,相對路徑該怎麼寫?
轉到IntelliJ IDEA中,目錄結構一樣,運行的測試也是一樣,打印出來的目錄不同,我想這是IDE的區別,或者說是在IDEA的配置當中哪裡出了問題,導入maven項目我就默認的 Project Structure 我看到裡面有三個模塊。
路徑中只寫文件名不是相對於classpath路徑麼,為什麼相對於項目的跟路徑了,eclipse中這樣可以接受,至少還能加上src/main/....訪問到,而在IntelliJ中就完全不對了,主項目打包會產生子項目的jar包,而我訪問的文件應該是相對於子項目的classpath路徑,在IntelliJ中,resources是在classpath中的,如果只寫名字應該是相對於子項目的resources目錄才對啊,理論上。
請賜教

我查看了打包編譯後的目錄,確實是打進去了的,為什麼通過只寫文件名這種方式就訪問不到呢?

圖片說明
圖片說明

圖片說明
圖片說明
圖片說明

最佳回答:


建個目錄,把你要訪問的文件放進去,把這個目錄標記為Recources,然後用下面的方式訪問:

yourClassName.class.getClassLoader().getResource("xxxxxxxx.txt").getFile()

紅色地方替換為你自己的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved