Chciałbym pobrać plik xml z mojej ścieżki klasy, aby usunąć błąd i użyć go do celów testowych. Moim problemem jest pobranie go jako InputStream. Napisałem te linie, ale zawsze otrzymuję wynik zerowy.Załaduj plik (xml) ze ścieżki klas w aplikacji internetowej wiosennej
Oczywiście ścieżka, którą widzisz w metodzie argumentu, jest tą, która znajduje się w moim pliku. Próbowałem kilka kombinacji:
WebContent/WEB-INF/classes/testing/
classpath:testing/
classpath*:testing/
ale zawsze uzyskać InputStream = null.
Próbowałem nawet przełączyć się
ClassLoader.getResourceAsStream(...)
ale nic się nie dzieje. Przypuszczam, że ścieżka do zasobu jest w jakiś sposób błędna, ale nie wiem, gdzie. Z mojego servlet.xml używam jakiegoś zasobu w ścieżce klasy konfiguracyjnym PropertyPlaceholderConfigurer lub Jaxb2Marshaller tylko ze składnią
"classpath:folder/file.xsd"
i działa idealnie. Folder, z którego chcę załadować mój xml, jest rodzajem siostry z powyższego przykładu. Czego mi brakuje?
EDIT: staram się postępować zgodnie z podejściem wiosna ClassPathResource klasy pomocnika i otrzymuję dziwne zachowanie: jak już mówiłem mam już pewne zasoby ładowane od ścieżki klasy przez niektórych ziaren wiosennych przy starcie. Jeśli używam ścieżkę do takich zasobów w kodzie sugerowanej przez Dardo w sposób następujący:
ClassPathResource cpr = new ClassPathResource("xmlschemas/lrinode.xsd");
InputStream is = cpr.getInputStream();
I jeszcze dostać FileNotFound Exception
! Oczywiście "xmlschemas/lrinode.xsd"
jest XSD ładowane przy starcie pomyślnie. Nie działa, nawet jeśli używam pełnej ścieżki do zasobu, zaczynając od katalogu głównego aplikacji.
Zaczynam myśleć, że brakuje mi czegoś trywialnego.
dzięki, jestem zainteresowany tą klasą pomocników. Próbowałem Twojego rozwiązania, ale nadal dostaję '" java.io.FileNotFoundException: zasób ścieżki klasy [testing/sample_complete_document.xml] nie może zostać otwarty, ponieważ nie istnieje wyjątek "' . Nazwa pliku jest rzeczywistą nazwą pliku w mojej ścieżce klas. PS. Już używam JAXB2^_^ – MaVVamaldo
Co oznacza pełna ścieżka, jeśli dokument xml – dardo
pełna ścieżka dokumentu xml jest następująca: '/ VirtualResource2/WebContent/WEB-INF/classes/testing/sample_complete_document.xml'. Oczywiście "VirtualResource2" to nazwa mojej aplikacji internetowej. – MaVVamaldo