Я неоднократно искал свою проблему. Некоторые из них были хороши, но не решение моей проблемы. С тех пор я потратил несколько часов, чтобы решить мою проблему.Весна не может найти ресурс пути к курсу
Я начал проект в затмении, используя maven. После этого я добавил пружины и спящий режим в качестве зависимостей. Этот проект не является обычным статическим проектом void main(). Это плагин, который я могу реализовать в другой запущенной программе.
Теперь позвольте мне объяснить мою проблему: Когда я пытаюсь запустить свой плагин (FYI: гнал его в папку/плагинов основной программы), я получаю I/O Exception:
org.bukkit.plugin.InvalidPluginException: org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException:
class path resource [applicationContext.xml] cannot be opened because it does not exist
applicationContext.xml находится в моей папке src/main/resources, а также в моем пути к классам. Я проверил его с помощью winRar. После процесса сборки applicationContext.xml находился в корневом каталоге. CLICK TO OPEN THE IMAGE
Я также использую плагин apache maven-shade для включения всех моих зависимостей.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<mainClass>com.lostforce.core.LostForceCore</mainClass>
</manifestEntries>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
ПриложениеContext.xml может быть найдено! Я проверил его с
System.out.println("Is null: " + (getClassLoader().getResourceAsStream("applicationContext.xml") == null));
Это вернуло мне ложь!
я загружаю applicationContext.xml с этим кодом:
context = new ClassPathXmlApplicationContext("applicationContext.xml");
Я не знаю, почему это происходит. Все, что я читал об этих проблемах, не работает.
Мой проект: CLICK TO OPEN THE IMAGE
Немного перечень: - SRC/главная/ресурс в моем пути к классам - applicationContext.xml находится в папке SRC/главная/ресурс - построить свой Proect с Maven MVN : чистая упаковка - Используйте плагин maven-shade для включения зависимостей
Надеюсь, кто-нибудь может мне помочь. Спасибо
Должен быть 'getClassLoader() getResourceAsStream ("/ applicationContext.xml")'.. Обратите внимание на косую черту. – Tunaki
Чем выше значение вывода –
Так что это сработало, поздравляю! – Tunaki