Выкарыстоўвайце завадны, каб загрузіць тэставы рэсурс з маёй структуры праекта

Я хачу, каб загрузіць рэсурс, які знаходзіцца ўнутры тэчкі/datatest ў маёй працоўнай вобласці праекта. Такім чынам, увесь файл будзе /datatest/a.xml .. Як я магу атрымаць абсалютны шлях да гэтага рэсурсу, што мне трэба ў модульных тэстаў, так як тэставы модуль можа быць запушчаны на любы машыне, я не хачу яго, але жорстка атрымаць яго замест таго, каб выкарыстоўваць загрузнік класаў? Як мне гэта зрабіць?

22
Вы таксама можаце праверыць гэты адказ
дададзена аўтар GreenGiant, крыніца
Ды працоўная прастора Праект уключаны ў шляху да класаў
дададзена аўтар Phoenix, крыніца
Ці з'яўляецца ваш праект працоўнай прасторы на шляху да класаў? Звычайна няма. Калі гэта так, то загрузнік класаў не можа бачыць
дададзена аўтар tim_yates, крыніца

1 адказы

Калі ў вашым шляху да класаў, то гэта павінна працаваць:

String xmlString = this.getClass().getResource( '/datatest/a.xml' ).text
41
дададзена
Гэта на самай справе «.lst» файл ... напрыклад "a.lst" ... Я дадаў яго ў наладах кампілятара рэсурсаў у IntelliJ, але да гэтага часу няма поспехі
дададзена аўтар Phoenix, крыніца
Я не відавочна вызначыў CLASS_PATH, але выявіў, што бягучы рэж быў уключаны ў маім эфектыўным/CLASS_PATH па змаўчанні, выканаўшы Groovy Однострочника: this.class.classLoader.rootLoader.URLs.each {Println яго} --then стала ясна, дзе я павінен захоўваць файлы, так што я мог getResource , каб адкрыць іх пазней.
дададзена аўтар MarkHu, крыніца
У гэтым выпадку, гэта не на шляху да класаў
дададзена аўтар tim_yates, крыніца
Я прапускаў сябе кіраўніцтву /
дададзена аўтар crusy, крыніца