Ursachen für java.io.FileNotFoundException: class path resource [services.xml] kann nicht geöffnet werden, weil es nicht vorhanden ist
Ich habe eine web-Anwendung unter RAD 7.5. Ich bin mit dem erstellen der Anwendung mit Maven und bereitstellen auf WebSphere 6.1.
Einen Teil meiner web.xml ist:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:services.xml</param-value>
</context-param>
Dies ist der einzige Ort, wo ich bin Referenzierung services.xml.
Meine services.xml im Ordner
FruitApplication/src/main/resources/services.xml
Nach der Erstellung mit maven, services.xml in der folgenden Pfad im Ziel-Ordner
target/FruitApplication-1.0.0/WEB-INF/classes/services.xml
Auf die Bereitstellung, die ich ständig bekomme unten genannten Fehler. Jedoch, auf den Aufbau, die Anwendung zwei oder drei mal, es verschwindet auf seine eigene, und dann taucht wieder planlos.
Was ist die eigentliche Ursache dieses Fehlers ?
So beheben Sie diesen Fehler ?
Oben auf meiner services.xml sieht aus wie:
<?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">
Ist etwas, das muss hier geändert werden ???
Unten die vollständige pom.xml ich benutze für "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>
Ich habe bereits versucht, alle der folgenden drei Optionen:
<param-value>classpath:services.xml</param-value>
<param-value>classpath:/services.xml</param-value>
<param-value>WEB-INF/classes/services.xml</param-value>
Wie ich mich bereitstellen:
Ich bin das entfernen der Anwendung vom server, indem Sie einen Rechtsklick auf server und "Anwendungen hinzufügen oder entfernen"
Mache ich eine run-as "maven-clean" und dann " ausführen-als "maven installieren" auf der Anwendung und wieder hinzufügen der Anwendung mit der rechten Maustaste auf den server und "Anwendungen hinzufügen oder entfernen"
Wie werden Sie bereitstellen? Nur fallen die maven generierten Krieg in den container? Können Sie Ihre bauen->die Ressourcen, die Teil des pom in der Frage?
Sind Sie sich der Fehler in RAD, Websphere oder beides? @Smp7d vorgeschlagen, die Nutzung der Ressourcen der Bühne und fügen Sie den Pfad zu kopieren services.xml eine explizite WEB-INF/classes und WEB-INF-Verzeichnis. Obwohl WEB-INF ist nicht im Klassenpfad es versuchen.
Der Fehler kommt, nachdem ich die Anwendung auf dem server und wenn es immer bereitgestellt durch den server. Also ich denke, es wird ein websphere Fehler... richtig??
InformationsquelleAutor Vicky | 2011-11-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht
classpath:/services.xml
? Der führende Schrägstrich bedeutet, ziehen Sie die Ressource aus der root des classpath. Ohne Sie, die Datei wird erwartet, dass in dem Paket sein, was Klasse ist, es zu laden (die ich zugeben, ich weiß nicht, was das wäre in diesem Fall).Sehen http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html#getResourceAsStream%28java.lang.String%29
InformationsquelleAutor dbreaux
Wählen Sie Projekt mit dem reource-Dateien vorhanden sind.Rechtsklick - Build path - configure build path - Quellen -Ordner Hinzufügen - fügen Sie den Ordner, in dem Sie die Ressource-Datei vorhanden ist.Dies würde hinzufügen, den Ordner, um Sie der Klasse Weg.
Wenn die oben genannten Projekt - /jar-ist Teil des anderen KRIEGES,/OHR-wählen Sie dann, dass der KRIEG und/oder OHR - Eigenschaften - j2ee-Modul-Abhängigkeiten und wählen Sie die oben genannten Projekt Hinzugefügt build path.
Starten Sie den server neu.
InformationsquelleAutor mahendra
Herauszufinden, ob seine Websphere - /RAD-oder ein application-Problem?
Ersten bauen der war-Datei und legen Sie es in einem Tomcat-container und prüfen Sie, ob der Fehler weiterhin angezeigt wird.
1. Wenn Sie dann sehen, kopieren Sie die services.xml WEB-INF und WEB-INF/classes Verzeichnis und sehen, ob es funktioniert.
2. Auch überprüfen Sie Ihre CLASSPATH-Umgebungsvariable system-CLASSPATH kann, außer Ihre Anwendung classpath.
Wenn alles in Ordnung ist mit Tomcat, es ist etwas bestimmtes zu Websphere/RAD:
3. Überprüfen Sie die websphere-Umgebung, ich erinnere mich, es gibt einige option, websphere, wo Sie festlegen können/override/Präfix classpath.
InformationsquelleAutor Rajendra