当前位置: 首页 > 知识库问答 >
问题:

无法从spring-boot jersey运行生成的jar

元望
2023-03-14

我无法用我的spring-boot with jersey项目运行生成的jar文件。

我遇到的例外情况是:

Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 1

当通过IDE(运行主类)或使用Spring-boot:run完成时,项目可以正常运行

以下是当前设置的详细信息:

包装:

jar

依赖关系:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jersey</artifactId>
  <version>1.5.1.RELEASE</version>
</dependency>

我的jersey配置(ResourceConfig)设置为扫描包

@Component
public class JerseyConfiguration extends ResourceConfig {

    public JerseyConfiguration() {
        packages(true, "com.my.base.jaxrs.packages");
    }

}

spring-boot-maven-plugin配置为:org.springframework.boot

<artifactId>spring-boot-maven-plugin</artifactId>
  <executions>
    <execution>
      <goals>
        <goal>repackage</goal>
      </goals>
    </execution>
  </executions>
</plugin>

我也没有使用spring-boot-starter-parent,而是按照文档中的说明添加了spring-boot-dependencies。

共有1个答案

太叔烨霖
2023-03-14

我有这个问题,我不想让事情太复杂,所以我只是注册了我所有的球衣控制器单独。

@Configuration
public class JerseyConfig extends ResourceConfig {

    JerseyConfig() {

        //  my old version that does not play well with spring boot fat jar        
        /*
            packages(
                    "com.mycompany.api.resources"           
            );
        */

        register(com.mycompany.api.resources.FooController.class);
        register(com.mycompany.api.resources.BarController.class);

}

注意:对于有很多文件的大型项目,我不推荐使用这种方法,它会很快变得很长,而且难以阅读,维护起来也很繁琐。也就是说,它是一个有效的解决方案,您将能够使用通常的java-jar my-project.jar命令运行jar。

 类似资料:
  • 我制作了一个小程序,只有一个类,我一直在尝试将它制作成一个小程序。jar文件。在Eclipse中,我右键单击文件夹- **注意:另外,如果我尝试在命令提示符中使用“javac”进行编译,它会说“javac不被识别为内部或外部命令、可操作程序或批处理文件”。

  • 这是控制台:我搜索了overstack,但我只是添加了spring-boot-starter-data-jpa。 在此输入图像说明**

  • 我正在Ubuntu WSL2上成功运行最新的Kafka。我可以在WSL上运行的Ubuntu中启动zookeeper、kafka服务器、创建主题、控制台制作和控制台消费。然而,当我进入Windows上的Intellij并创建一个简单的Java生成器时,它似乎无法连接到代理 版本 服务器属性我在另一个SO答案中找到了此设置,但这些设置对我不起作用。 然后尝试(并重新启动动物园管理员和Kafka) 生产

  • 问题内容: 我在端口5000上的docker容器中运行了一个REST服务,该服务用于通过kafka主题生成消息,而该主题用尽了docker容器。 我为生产者客户端配置了以下属性:- 我已经用下面的命令开始了包含: 我还做了以下配置来宣传kafka主机和端口 尽管我尝试制作kafka主题时已进行了所有配置,但还是遇到了以下错误:- 有人可以指出实际问题在哪里吗? 问题答案: 在现实生活中,永远都不应

  • 我是Java和SPRING的新手,拥有最新的STS工具和Java1.6,能够创建和运行SPRING MVC项目。 开始查看spring boot,创建了一个spring starter项目,选择了'Web',并选择了默认的所有内容 *********运行时异常*******************

  • 问题内容: 我是编程(和Python)新手。我无法在WinXP 64位笔记本电脑的命令提示符下运行任何python脚本。我分配了路径并通过输入set path确认了。我有Python32。我收到以下消息: 以下是我尝试的脚本: 问题答案: 你应该输入这个 在dos / cmd提示符下,而不是在Python解释器中