java war file выдает исключение FileNotFoundException в jar файл - PullRequest
1 голос
/ 07 октября 2019

У меня есть программа со звуками военных файлов. Звуки прекрасно воспроизводятся, когда я запускаю программу в Eclipse, но в файле JAR я получаю исключение FileNotFoundException. Вот как я добавил файлы war:

public class MainClass implements Serializable{

    private static final long serialVersionUID = 1L;
    public static Library library;

    public static void main(String[] args)
    {
        try {
            loading();
        } catch (IOException e2) {
            e2.printStackTrace();
        }

        if(library == null) {
            library = Library.getInstance();
        }

        try
        {
            FileInputStream button4 = new FileInputStream("sound/welcome.wav");
            AudioStream b4 = new AudioStream(button4);
            AudioPlayer.player.start(b4);
        }
        catch(FileNotFoundException e)
        {
            JOptionPane.showMessageDialog(null,"File not found");
        }
        catch(IOException eio)
        {
            JOptionPane.showMessageDialog(null,"Sound Problems");
        }
        Login login = new Login();
        login.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        login.setVisible(true);
        login.setSize(600, 400);
    }
}

Файл war находится в той же папке, что и мой проект. Нужно ли добавлять файл другим способом? Вот как файл войны находится в проекте: введите описание изображения здесь

1 Ответ

0 голосов
/ 07 октября 2019

«Пути к файлам» из war-контекста отличаются от путей в вашей IDE, и использование FileInputStream таким образом не работает.

См. Путь к файлу к ресурсу в нашей войне / WEB-INFпапка? для подсказок о том, как загрузить ресурс из контекста war / servlet.

...