Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java restlet:在同一web应用程序中使用服务器和客户端restlet JAR_Java_Web Services_Rest_Jar_Restlet - Fatal编程技术网

Java restlet:在同一web应用程序中使用服务器和客户端restlet JAR

Java restlet:在同一web应用程序中使用服务器和客户端restlet JAR,java,web-services,rest,jar,restlet,Java,Web Services,Rest,Jar,Restlet,我不能在同一个JavaWeb应用程序中使用restlet服务器和客户端JAR。问题是服务器和客户端的一些JAR具有相同的名称。如果我试图删除重复的jar,就会出现如下错误 java.lang.NoSuchMethodError: org.restlet.Context.getClientDispatcher()Lorg/restlet/Restlet; org.restlet.resource.ClientResource.createNext(ClientResource.java:503

我不能在同一个JavaWeb应用程序中使用restlet服务器和客户端JAR。问题是服务器和客户端的一些JAR具有相同的名称。如果我试图删除重复的jar,就会出现如下错误

java.lang.NoSuchMethodError: org.restlet.Context.getClientDispatcher()Lorg/restlet/Restlet;
  org.restlet.resource.ClientResource.createNext(ClientResource.java:503)
  org.restlet.resource.ClientResource.getNext(ClientResource.java:829)
  org.restlet.resource.ClientResource.handleOutbound(ClientResource.java:1221)
  org.restlet.resource.ClientResource.handle(ClientResource.java:1068)
  org.restlet.resource.ClientResource.handle(ClientResource.java:1044)
  org.restlet.resource.ClientResource.post(ClientResource.java:1453)
  com.xxxxxx.web.restletclient.services.CommonService.sendRequest(CommonService.java:25)
  com.xxxxxx.web.restletclient.services.adminService.execute(adminService.java:24)
  com.xxxxxx.web.restletclient.client.adminLoginClient.connect(AdminLoginClient.java:41)
  com.xxxxxx.web.action.operator.adminLoginAction.performAction(adminLoginAction.java:75)
  com.xxxxxx.common.action.AbstractBaseAction.execute(AbstractBaseAction.java:137)
  org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
  org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
  org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
  org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
我的场景是这样的:我的web应用程序可以作为web服务客户端和服务器工作。因此,我正在寻找一个在同一个web应用程序中使用restlet客户端和服务器JAR的选项。我在网上搜索过,但还没有找到任何有效的解决方案


感谢您的帮助。

事实上,Restlet的核心jar同时支持客户端和服务器端。也就是说,可以将扩展名(名为
org.restlet.extension.XXX
的jar文件)指定给一方或另一方,也可以同时指定两方。这取决于分机

你能给我我们试过用的罐子的清单吗

下面是一个示例pom文件,可用于初始化Restlet项目的依赖项:

<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>org.restlet</groupId>
    <artifactId>restlet-war</artifactId>
    <name>${project.artifactId}</name>
    <packaging>war</packaging>
    <version>1.0.0-snapshot</version>

    <properties>
        <java-version>1.7</java-version>
        <restlet-version>2.3.1</restlet-version>
        <wtp-version>2.0</wtp-version>
    </properties>

    <dependencies>
        <!-- Restlet core -->
        <dependency>
            <groupId>org.restlet.jee</groupId>
            <artifactId>org.restlet</artifactId>
            <version>${restlet-version}</version>
        </dependency>

        <!-- To embed Restlet within a servlet container -->
        <dependency>
            <groupId>org.restlet.jee</groupId>
            <artifactId>org.restlet.ext.servlet</artifactId>
            <version>${restlet-version}</version>
        </dependency>

        <!-- To use HTTP Client to actual make HTTP
             requests under the hood -->
        <dependency>
            <groupId>org.restlet.jee</groupId>
            <artifactId>org.restlet.ext.httpclient</artifactId>
            <version>${restlet-version}</version>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>maven-restlet</id>
            <name>Public online Restlet repository</name>
            <url>http://maven.restlet.com</url>
        </repository>
    </repositories>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java-version}</source>
                    <target>${java-version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>install</id>
                        <phase>install</phase>
                        <goals>
                            <goal>sources</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <configuration>
                    <wtpapplicationxml>true</wtpapplicationxml>
                    <wtpversion>${wtp-version}</wtpversion>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

4.0.0
org.restlet
休战
${project.artifactId}
战争
1.0.0-snapshot
1.7
2.3.1
2
org.restlet.jee
org.restlet
${restlet版本}
org.restlet.jee
org.restlet.ext.servlet
${restlet版本}
org.restlet.jee
org.restlet.ext.httpclient
${restlet版本}
maven restlet
公共在线Restlet存储库
http://maven.restlet.com
org.apache.maven.plugins
maven编译器插件
${java版本}
${java版本}
org.apache.maven.plugins
maven依赖插件
安装
安装
来源
org.apache.maven.plugins
maven eclipse插件
真的
${wtp版本}
希望它能帮助你, 蒂埃里