первый пост здесь, надеюсь, я правильно сформулировал этот вопрос. Мой проект находит файлы ресурсов в classpath при запуске внутри netbeans как проект, но когда я запускаю jar вне netbeans, он не может найти ресурсы (я проверил, и да, они помещаются в jar. )
Я пробовал как .getResource (), так и версию .getResourceAsStream () моего кода. Они оба успешно выполняются при запуске внутри netbeans как проект maven, но эти ресурсы не обнаруживаются, когда я удаляю jar и запускаю его вне netbeans.
Вот фрагмент моего кода, а также фрагмент из моего файла POM, где я добавляю ресурсы. Все работает, когда запускается как проект внутри netbeans, но не когда я запускаю jar в другом месте. Не удается найти ресурсы.
... ...
String wholeFile = "";
try {
BufferedReader objReader = new BufferedReader(
new java.io.InputStreamReader(
getClass().getResourceAsStream( sqlFileName )
)
);
StringBuilder sb = new StringBuilder();
String strCurrentLine;
while ( (strCurrentLine = objReader.readLine()) != null ) {
sb.append( strCurrentLine );
sb.append( System.getProperty("line.separator") );
}
wholeFile = sb.toString();
... или, предпочтительно ...
wholeFile = java.nio.file.Files.readString(
java.nio.file.Paths.get(
getClass().getClassLoader().getResource( sqlFileName ).toURI()
)
);
// Split that file into individual create
// table strings contained in the file.
// Slit on two newlines.
String newLine = System.getProperty("line.separator");
String[] tables = wholeFile.split( newLine + newLine );
.... ..
А вот что я добавил в пом. Но это решает только если запустить в NetBeans. Почему? Чего мне не хватает в настройке maven здесь? За пределами netbeans ... исполняемый файл jar не найдет эти файлы ресурсов, как они делают при запуске внутри netbeans.
Заранее спасибо. Я надеюсь, что мой вопрос был ясен.
<resources>
<resource>
<directory>src/my-resources</directory>
<includes>
<include>**/*.txt</include>
<include>**/*.jpg</include>
</includes>
</resource>
</resources>