classloader.getResource возвращает путь с файлом войны - PullRequest
0 голосов
/ 19 октября 2018

Я не могу понять поведение этой строки на моем компьютере:

File versionFile = new File(classLoader.getResource("Version.txt").getFile());

На первый взгляд classLoader.getResource ("Version.txt"). GetFile () возвращает путь, подобный:

C:****\ServiceManager\target\ServiceManager.war!\WEB-INF\classes\Version.txt

Кажется, Java генерирует путь в моем файле войны, и он не работает.Однако у моего коллеги с точно таким же кодом в нашей выходной папке есть нормальный путь.

У кого-нибудь есть идея?

Спасибо

1 Ответ

0 голосов
/ 19 октября 2018

Я нашел основную причину этой проблемы, это была проблема конфигурации проекта.

На сервере свободы webshpere, если у вас есть зависимости от нескольких проектов, вы должны перейти в свойства проекта> Сборка развертывания> идобавь свои проекты.После этого сервер сгенерирует myProject.war.xml, который содержит другой узел.Некоторые узлы имеют атрибут targetInArchive с путем, и эта конфигурация заставляет загрузчик классов возвращать путь внутри деформированной войны.

Надеюсь, эта информация кому-нибудь поможет.

...