Classpath весной MVC - PullRequest
       4

Classpath весной MVC

0 голосов
/ 02 января 2012

Когда я использую атрибут class-path в весеннем XML-файле, как показано ниже,

<bean class="com.fritolay.suppliernet.common.lastresorthandler.impl.SingletonPropertiesRepository">
<property name="propertiesFile" value="classpath:ecr/sample.properties" />
</bean>

В этом случае где сервер ищет файл свойств в приложении?

Мой вопрос состоит в том, что у меня есть два модуля [1.Web Project 2.Java Project].Я определяю этот XML-файл в веб-проекте и помещаю файлы свойств в папку src проекта Java. Но при развертывании приложения я получаю следующую ошибку:

PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'propertiesFile' threw exception; nested exception is java.io.FileNotFoundException: class path resource [ecr/sample.properties] cannot be resolved to absolute file path because it does not reside in the file system: zip:C:/Oracle/Middleware/user_projects/domains/sample/servers/AdminServer/tmp/_WL_user/_appsdir_supplier-net_ear/6e86rt/sample-service.jar!/ecr/sample.properties

Ответы [ 2 ]

2 голосов
/ 02 января 2012

Если у вас есть два разных проекта, вы должны быть уверены, что при развертывании вашего веб-проекта вы сможете получить доступ к коду в вашем Java-проекте . Если вы работаете в разобранном виде, вам нужно предоставить доступ к вашему Java-проекту из вашего веб-проекта , в Eclipse это легко сделать.

1 голос
/ 02 января 2012

Ваш движок Java ищет ваш файл в этом месте (прочитайте при вашей ошибке):

C:/Oracle/Middleware/user_projects/domains/sample/servers/AdminServer/tmp/_WL_user/_appsdir_supplier-net_ear/6e86rt/sample-service.jar!/ecr/sample.properties

Как видите, метка ! подразумевает, что он ищет ваш файл во временном JAR-файле (наверняка, артефакт IDE).

Кажется, что ваша IDE (или инструмент, который вы выбрали для развертывания) не включает ваши файлы свойств внутри JAR, и, следовательно, ошибку. Это может быть из-за:

  • Во время компиляции ваш инструмент не копирует эти ресурсы в целевой каталог компиляции (обычно /classes)
  • Во время упаковки ваш строительный инструмент JAR не включает properties ресурсов в банку, избегая их.

В обоих случаях, чтобы исправить это, вы должны проверить свою конфигурацию здания и развертывания, в зависимости от того, какую IDE или инструменты вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...