Die richtige Lösung für dieses Problem ist immer noch nicht in den Internet-Threads verfügbar. Ich habe ein Maven-Projekt in Eclipse für Jersey RESTFul Web Services. Also, Trikot erforderlich unter Bibliotheken (21 nos.) Werden in Projekt -> WEB-INF -> lib Ordner und Projekt Build-Pfad kopiert.Maven - Restful Web Service - Jersey - Kompilierungsfehler - Paket javax.ws.rs existiert nicht
aopalliance-repackaged-2.4.0-b34.jar
asm-debug-all-5.0.4.jar
hk2-api-2.4.0-b34.jar
hk2-locator-2.4.0-b34.jar
hk2-utils-2.4.0-b34.jar
javassist-3.18.1-GA.jar
javax.annotation-api-1.2.jar
javax.inject-2.4.0-b34.jar
javax.servlet-api-3.0.1.jar
javax.ws.rs-api-2.0.1.jar
jaxb-api-2.2.7.jar jersey-client.jar
jersey-common.jar
jersey-container-servlet.jar
jersey-container-servlet-core.jar
jersey-guava-2.23.1.jar
jersey-media-jaxb.jar jersey-server.jar
org.osgi.core-4.2.0.jar
osgi-resource-locator-1.0.1.jar
persistence-api-1.0.jar
validation-api-1.1.0.Final.jar
Wenn ich dieses Projekt als WAR-Datei exportieren und in Tomcat implementiert habe, kann auf den Dienst zugegriffen werden. Die tatsächliche Anforderung besteht jedoch darin, diesen Dienst auf dem WebLogic-Server auszuführen, auf dem die gleiche WAR-Datei nicht funktioniert. Also, ich muss die WAR-Datei mit Maven nicht einfach nur als WAR-Datei exportieren.
Unten sind die Schritte, die ich getan habe.
in Eclipse -> Projekt -> Rechtsklick -> laufen als Maven Build -> saubere Installation -> laufen
es immer noch etwas unter Kompilierungsfehler zu werfen.
[FEHLER] COMPILATION FEHLER: [INFO] ------------------------------------ ------------------------- [FEHLER]/Benutzer/karthik/Dokumente/workspace/Apple_DownloadFileWS/src/com/apple/downloadws/DownloadService. Java: [6,19] Paket javax.ws.rs existiert nicht [ERROR] /Users/karthik/Documents/workspace/Apple_DownloadFileWS/src/com/apple/downloadws/DownloadService.java:[7,19] Paket javax .ws.rs existiert nicht [ERROR] /Users/karthik/Documents/workspace/Apple_DownloadFileWS/src/com/apple/downloadws/DownloadService.java:[8,19] Paket javax.ws.rs existiert nicht [ FEHLER] /Users/karthik/Documents/workspace/Apple_DownloadFileWS/src/com/apple/downloadws/DownloadService.java:[9,24] package javax.ws.rs.core existiert nicht [FEHLER] /Users/karthik/Documents/workspace/Apple_DownloadFileWS/src/com/apple/downloadws/DownloadService.java:[10,24] Paket javax.ws.rs.core existiert nicht [FEHLER]/Benutzer/karthik/Dokumente/workspace/Apple_DownloadFileWS/src/com/apple/downloadws/DownloadService.java: [11,33] Paket javax.ws.rs.core.Response existiert nicht [ERROR]/Benutzer/karthik/Dokumente/Arbeitsbereich /Apple_DownloadFileWS/src/com/apple/Downloads/DownloadService.java:[23,2] kann das Symbol nicht finden Symbol: Klasse Pfad [FEHLER]/Benutzer/karthik/Dokumente/workspace/Apple_DownloadFileWS/src/com/apple/downloadws /DownloadService.java:[31,12] kann das Symbol nicht finden Symbol: Klasse Antwort
Hier ist mein pom.xml:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Apple_DownloadFileWS</groupId>
<artifactId>Apple_DownloadFileWS</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>Apple_DownloadFileWS</name>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.23.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>2.11</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.containers/jersey-container-servlet-core -->
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.23</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.containers/jersey-container-servlet -->
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.23</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.bundles.repackaged/jersey-guava -->
<dependency>
<groupId>org.glassfish.jersey.bundles.repackaged</groupId>
<artifactId>jersey-guava</artifactId>
<version>2.23.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.media/jersey-media-jaxb -->
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-jaxb</artifactId>
<version>2.23</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.media/jersey-media-json-jackson -->
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.23</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
Web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Apple_DownloadFileWS</display-name>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.apple.downloadws</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
Service-Klasse:
package com.apple.downloadws;
import java.io.File;
import java.util.logging.Logger;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
// Plain old Java Object it does not extend as class or implements
// an interface
// The class registers its methods for the HTTP GET request using the @GET annotation.
// Using the @Produces annotation, it defines that it can deliver several MIME types,
// text, XML and HTML.
// The browser requests per default the HTML MIME type.
//Sets the path to base URL + /hello
@Path("/downloadservice")
public class DownloadService {
// This method is called to send the output txt file to download...
private static final String FILE_PATH = "/ngs/app/alect/test";
@GET
@Path("/txt")
@Produces("text/plain")
public Response getTextFile() {
File file = new File(FILE_PATH);
Logger.getLogger("!!!!!!!!!!!");
System.out.println("!!!!!!!!!!");
ResponseBuilder response = Response.ok((Object) file);
response.header("Content-Disposition","attachment; filename=\"sample.txt\"");
return response.build();
}
// This method is called if TEXT_PLAIN is request
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayPlainTextHello() {
return "Hello Jersey";
}
// This method is called if XML is request
@GET
@Produces(MediaType.TEXT_XML)
public String sayXMLHello() {
return "<?xml version=\"1.0\"?>" + "<hello> Hello Jersey" + "</hello>";
}
// This method is called if HTML is request
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello() {
return "<html> " + "<title>" + "Hello Jersey" + "</title>"
+ "<body><h1>" + "Hello Jersey" + "</body></h1>" + "</html> ";
}
}
Darf ich wissen, was in Maven pom.xml Abhängigkeiten gehen sollte? Ich googelte und addiere die oben genannten Abhängigkeiten und immer noch den gleichen Fehler. Fehle ich hier irgendwelche Abhängigkeiten?
Hallo, ich wechselte zu RESTEasy statt JERSEY und machte die Abhängigkeiten außerhalb Abhängigkeitsverwaltung und jetzt wirft es rote Farbe Fehler im Projekt, wenn ich den Krieg Art mache. Gibt es einen Fehler in meiner Syntax? Aber wenn ich Project -> Rechtsklick -> Ausführen als -> Maven Build -> sauber installieren -> keine Fehler und BUILD SUCCESS. ist es richtig? Wenn ja, wie kann ich es mithilfe von Maven als WAR-Datei für den WebLogic-Server generieren? Die jetzt erstellte WAR-Datei enthält keine weblogic.xml-Datei. Wie generiert man diese weblogic.xml-Datei in WAR mit dem MAVEN-Tool? –