重命名包后出现 ClassNotFound 异常

ClassNotFound exception after renaming package

我有一个 Spring 引导应用程序,我在其中重命名了启动 class 所在的包。应用程序 运行s 从 IDE 启动时没有任何问题(Spring Tools Suite)但是当我用 maven 和 运行 从命令行用

构建它时
java -jar <application_name.jar>

说找不到old_package中的class。到目前为止我尝试过的事情:

  1. 清理项目

  2. 从工作区删除元数据

  3. 将项目复制到其他地方并从那里导入

  4. 正在删除 运行 配置并在新包中使用主要 class 创建新配置。

我还解压了位于 target 文件夹中的 jar 并检查了它的清单文件并且 Start-Class 参数设置为旧包。

您没有更新 pom.xml,它包含以 <old_package>.MyClass 格式编写的参考,而这应该是 <new_package>.MyClass。您的 IDE(虽然我不是 STS 专家)使用其自己的编译规则,因此您的程序可以 运行 在其中。