【问题标题】:Cannot integrate an external jar in a spring boot maven project无法在 Spring Boot Maven 项目中集成外部 jar
【发布时间】:2020-08-04 20:23:23
【问题描述】:

我有一个需要测试的本地 jar。此 jar 尚未推送到 maven 存储库。

我创建了一个示例项目,并通过单击配置构建路径将此 jar 作为外部 jar 添加到类路径中。

当我从 jar 中导入类时,eclipse 可以导入它,但是当我运行 Maven 构建时,它给出了一个错误提示

com.x.y 包不存在 ClassName.class 找不到符号

这里出了什么问题?

【问题讨论】:

  • 你可以用<scope>system</scope>,<systemPath>${project.basedir}/dir/it/is/in.jar</systemPath>把它添加到Pom中
  • 嗨,123,我也试过这个。它说我需要省略它,因为依赖项不在系统范围内。我还尝试将 includeSystemscope 配置添加到 Maven 启动插件。但还是同样的问题
  • 什么说你需要省略它?
  • 当我做一个 Maven 构建它失败并给出这个错误

标签: java spring eclipse spring-boot maven


【解决方案1】:

只需将其推送到本地 maven 存储库,这是命令行:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

稍后在你的 pom 中添加这个依赖,它就会起作用。

【讨论】:

  • 嗨,我也试过了。我交叉检查了 jar 文件是否实际上是在 .m2 文件夹中创建的并且它在那里。我添加了依赖,构建成功。但是当我运行 mvn spring-boot:run 时,jetty 会抛出一个错误,说无法启动响应式 Web 服务器 no class def found for org/jetty/ServletHolder 类似的东西。
  • 因为你需要 jetty starter 依赖。这是一个不同的问题。 org.springframework.bootspring-boot-starter-jetty2.2.6.RELEASE
  • 我也有这个依赖。它仍然给我错误。如果我删除本地 jar 的 maven 依赖项并运行该项目。它运行得很好。问题在于集成本地 jar。
猜你喜欢
  • 1970-01-01
  • 2018-02-03
  • 2018-02-23
  • 1970-01-01
  • 2018-12-14
  • 1970-01-01
  • 1970-01-01
  • 2019-07-16
  • 2020-11-20
相关资源
最近更新 更多