我正在尝试打包使用 Jersey 的 Spring Boot 应用程序。在开发过程中启动应用程序时,运行没有问题,当我使用生成 jar 文件时出现问题
mvnw package && java -jar target/gs-spring-boot-docker-0.1.0.jar
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误。
创建名为 'org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration' 的 bean 时出错:通过构造函数参数 1 表示不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在 URL [jar:file:..path/Backend/target/celulascontentas-2.0.jar!/BOOT-INF/classes! 中定义名称为“jerseyConfig”的 bean 创建时出错! /tech/aabo/celulascontenta s/config/JerseyConfig.class]:bean实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [tech.aabo.ce lulascontentas.config.JerseyConfig]:构造函数抛出异常;嵌套异常是 org.glassfish.jersey.server.internal.scanning.ResourceFinderException: java.io.File NotFoundException: ..path\Backend\target\celulascontentas-2.0.jar!
我的 Jersey 配置如下所示:
package tech.aabo.celulascontentas.config;
import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.server.ServerProperties;
import org.springframework.stereotype.Component;
import javax.ws.rs.ApplicationPath;
@Component
@ApplicationPath("/api")
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
register(JacksonJaxbJsonProvider.class);
packages("tech.aabo.celulascontentas.endpoint");
property(ServerProperties.BV_SEND_ERROR_IN_RESPONSE, true);
}
}
Run Code Online (Sandbox Code Playgroud)
我的 pom.xml 看起来像:
<?xml version="1.0" encoding="UTF-8"?>
<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"> …Run Code Online (Sandbox Code Playgroud) 我刚开始使用Servlets和JSP开发在线应用程序.正如你可能知道我们需要接收HttpServletRequest的REQ,HttpServletResponse的水库)参数的doPost方法.
我的问题如下.我知道我需要导入javax.servlet和javax.servlet.http.*包才能使其正常工作.我记得曾经有一个疯狂的老师告诉我,我可以修改我的jdk/jre/lib文件夹并添加那些我会经常使用的外部jar,以便忘记每次编译项目时都改变类路径.有谁知道怎么做?我已经将servlet-api.jar复制到lib文件夹中但没有任何反应..
谢谢