gpt4 book ai didi

java - reSTLet:在同一 Web 应用程序中使用服务器和客户端 reSTLet Jars

转载 作者:行者123 更新时间:2023-12-01 04:41:18 30 4
gpt4 key购买 nike

我无法在同一个 Java Web 应用程序中使用 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 文件)可以指定到一侧或另一侧或两侧。这取决于扩展名。

您能给我我们尝试使用的 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>

希望对你有帮助蒂埃里

关于java - reSTLet:在同一 Web 应用程序中使用服务器和客户端 reSTLet Jars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16469467/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com