Próbuję załadować plik obrazu binarnego, aby wykonać pewne przetwarzanie wewnątrz mojego kodu Java po stronie serwera. Ja obecnie umieszczenie mojego wizerunku w opakowaniu, gdzie istnieje klasa moim wykonaniu i wywołanie:Jak mogę odczytać plik zasobów w niewybytym pliku wojennym wdrożonym w Tomcat?
Image img = Image.getInstance(this.getClass().getResource("logo.png"));
Działa to dobrze, gdy biegnę Tomcat na moim polu rozwoju w rozłożeniu instalacji wojennej, ale gdy wdrożyć do serwera uruchamiając Tomcat, gdzie nie eksploduje plików wojennych, wywołanie getResource zwraca wartość null.
Próbowałem zostały również przeniesienie obrazu do mojego kontekstowego katalogu głównego i dostępu do niego tak:
Image img = Image.getInstance(this.getClass().getResource("/../../logo.png"));
Ponownie, to działa na moim komputerze rozwoju, ale nie kiedy wdrożyć go w innym miejscu.
Czy jest lepszy sposób dostępu do tego pliku? Co ja robię źle?
Dzięki!
pewnie powinien mieć również wspomnieć, że jestem używając Mavena do zbudowania mojej aplikacji internetowej. Mam kompletną odpowiedź, która rozwiązuje mój problem, ale nie mogę opublikować go przez 8 godzin na moje własne pytanie. – 11101101b
Umieść zasoby w katalogu "src/main/resources". Następnie uzyskaj dostęp do nich za pomocą: this.getClass(). GetResource ("/ logo.png"); lub: Thread.currentThread(). GetContextClassLoader(). GetResource ("logo.png"); – 11101101b