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

具有jar依赖项的Spring Boot应用程序在maven构建后不运行

裘臻
2023-03-14

我正在写一个Spring引导应用程序,它需要从ibm笔记数据库中获取记录。为此,我必须使用一个jar库,它不能作为maven依赖项使用。因此,我将jar作为lib/com/ibm/note/1.0.0/notes-1.0.0.jar放在项目主页中,并将其作为本地存储库添加到pom文件中,如下所示。

<repositories>
    <repository>
        <id>ProjectRepo</id>
        <url>file://${project.basedir}/lib</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.ibm</groupId>
    <artifactId>notes</artifactId>
    <version>1.0.0</version>
</dependency>

我的应用程序在eclipse IDE中运行时没有任何问题。但是当我通过右键单击eclipse的pom文件来清理/安装相同的项目时,构建是成功的,警告如下。

[INFO] --------------------------------[ jar ]--------------------------------- [警告]com.ibm的POM:注释:jar: 1.0.0是缺少,没有可用的依赖信息

但应用程序在命令行执行失败。下面是我得到的错误。

启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2019-08-17 16:37:41.450错误17868---[main]o.s.boot.SpringApplication
:应用程序运行失败

org.springframework.beans.factory.unsatifiedDependencyException:创建名为“CranoteService”的bean时出错:通过字段“repository”表示未满足的依赖关系;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“craNotesRepository”的bean时出错:查找方法解析失败;嵌套异常为java.lang.IllegalStateException:未能从类加载器[org.springframework.boot.loader]中内省类[q2c.project7.craservice.repository.CraNotesRepository]。LaunchedURLClassLoader@5c7fa833]位于org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutoWiredFeldElement.inject(AutowiredNotationBeanPostProcessor.java:596)~[spring-beans-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]

你能建议如何解决这个问题吗?

CraNotesRepository是利用上面指定的外部jar的类。

共有2个答案

郭凡
2023-03-14

我在eclipse项目中使用32位jdk开发,我的机器有64位jdk。Notes jar只支持32位。因此,在64位jdk中运行它无法从Notes jar文件加载类。把机器jdk也改成32位就解决了这个问题。

鄢选
2023-03-14

尝试从cmd手动安装notes-1.0.0.jar,如下所示

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
    -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
 类似资料:
  • 问题内容: 我有一个独立的Java应用程序,我想将其打包为:myapp.jar。并将所有相关的jar文件复制到“备用文件夹”。理想情况下,我想让Maven更新META- INF文件,以将所有类路径依赖项jar条目添加到其中。 例如,如果我的项目引用了commons.jar,并且当我使用此插件构建程序集时,它将所有.class文件和程序包从commons.jar复制到myappjar- with-d

  • 我。 我有一个名为的模块,我希望将它的所有依赖项打包到一个JAR中。我不想每次都创建fat big jar,并将其与应用程序代码一起部署。我的应用程序jar的大小<1 MB,但依赖性>20 MB 在我的服务器上,我将运行我的应用程序,如下所示: 当我更改应用程序代码时,我只需要将部署到我的服务器,并且只有当我更改依赖项时才需要上传(这是非常罕见的)。 有很多关于如何使用java源代码构建fat j

  • 我尝试使用gradle build的以下格式创建一个jar库,以便以后可以将其作为jar包导入该项目中的其他人。但是,生成的jar只有一个清单文件,没有java文件。 这些文件在Eclipse中的一个包中。 感恩节。

  • 我需要创建所有依赖项的jar。我有一个spring项目,它与数据库一起工作,我需要在另一台计算机上启动Spring Boot应用程序,那里只有Java。我想只有一个jar文件,并用启动它,如何创建这个jar? UPD:我现在的pom:

  • 在命令行中,我需要构建一个没有依赖项的可执行jar。当前的“gradle build”命令给了我一个带有依赖项的jar。 在StackOverflow上找不到这个。如果是重复的问题,指给我看。谢谢。

  • 本文向大家介绍Apache Maven 创建具有项目所有依赖项的.jar文件,包括了Apache Maven 创建具有项目所有依赖项的.jar文件的使用技巧和注意事项,需要的朋友参考一下 示例 要创建包含所有依赖项的JAR,可以使用内置描述符格式jar-with-dependencies。以下示例package使用此内置描述符并声明的主类来配置绑定到该阶段的Assembly Plugin的执行co