У меня есть веб-приложение на RAD 7.5.Я создаю приложение с использованием Maven и внедряю его в WebSphere 6.1.
Часть моего web.xml:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:services.xml</param-value> </context-param>
Это единственное место, где я ссылаюсь на services.xml.
Мой services.xml находится в папке
FruitApplication/src/main/resources/services.xml
После сборки с помощью maven файл services.xml находится по следующему пути в целевой папке
target/FruitApplication-1.0.0/WEB-INF/classes/services.xml
При развертыванииЯ постоянно получаю ниже упомянутую ошибку.Однако при сборке приложения два-три раза оно исчезает само по себе, а затем снова появляется случайно.
Какова действительная причина этой ошибки?Как решить эту ошибку?
Вершина моего services.xml выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">
Нужно ли что-то изменить здесь ???
Ниже приведенcomplete pom.xml, который я использую для "maven-install":
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>FruitApplication</groupId> <artifactId>FruitApplication</artifactId> <packaging>war</packaging> <version>1.0.0</version> <build> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.0.1</version> <configuration> <archive> <manifestFile> src/main/webapp/META-INF/MANIFEST.MF </manifestFile> </archive> </configuration> </plugin> </plugins> </build> <dependencies> ... dependencies here ... </dependencies> </project>
Я уже попробовал все три нижеприведенных варианта:
<param-value>classpath:services.xml</param-value> <param-value>classpath:/services.xml</param-value> <param-value>WEB-INF/classes/services.xml</param-value>
Как я развертываю:
Я удаляю приложение с сервера, щелкая правой кнопкой мыши по серверу и «добавляя или удаляя приложения»
Я выполняю run-as «maven-clean», а затем запускаю as-maven-install«на приложение и снова добавление приложения, щелкнув правой кнопкой мыши на сервере и« добавить или удалить приложения »
Вы пробовали classpath:/services.xml?Начальная косая черта означает удаление ресурса из корня пути к классам.Без него файл, как ожидается, будет находиться в пакете того класса, который его загружает (что, я допускаю, я не знаю, что это было бы в этом случае).
classpath:/services.xml
См. http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html#getResourceAsStream%28java.lang.String%29
Выберите проект, в котором существуют файлы ресурсов. Щелкните правой кнопкой мыши - Путь сборки - настройте путь сборки - источники -Добавить папку - добавьте папку, в которой существует файл ресурса. Это добавит папку к вашему пути класса.
Если вышеуказанный проект / jar является частью другого WAR / EAR, выберите эти WAR и / или EAR-свойства - зависимости модуля j2ee и выберите вышеуказанный проект для добавления в сборку.дорожка.Перезагрузите сервер.
Выясните, есть ли проблема с Websphere / RAD или с приложением?
Сначала соберите файл war, поместите его в контейнер Tomcat и проверьте, не появляется ли еще ошибка.1. Если вы видите, скопируйте services.xml в каталог WEB-INF и WEB-INF / classes и посмотрите, работает ли он.2. Также проверьте свою переменную системной среды CLASSPATH, система CLASSPATH может переопределить путь к классу вашего приложения.
Если с Tomcat все в порядке, есть что-то специфическое для Websphere / RAD: 3. Проверьте вашу среду websphere, я вспоминаю тамэто некоторая опция в веб-сфере, где вы можете установить / переопределить / префикс classpath.