程序包 applets.user.service.UserService 不存在-2022新项目
一、问题由来
接上一篇文章使用maven进行打包时报中文乱码错误,经过多次尝试后最终解决问题,显示出真正的错误信息如下:
程序包 applets.user.service.UserService 不存在
找不到符号20
因为工作原因,包名有改动,可是错误信息是一模一样的。看到这个真实的错误信息后,才搞清楚错误提示信息。自己
的代码中存在的问题是有一个公共模块中所有的类,其他模块都不能正常引入。写代码的时候可以导入,可是在将模块
进行打包的时候,就报了上面的错,让人费解。
二、问题分析
可以确定的一点是,公共模块可以打成jar包,自己也去自己的本地仓库中查看了打包后的信息,发现都没有问题,
打好的jar包在仓库中放着,其他说明文件也都有。就类似于下面这种,只有正确的打成jar包后,其他项目才能够引用。

公共模块打成的包没问题,可是其他模块却不能引入公共模块,这就很奇怪?自己立马开始搜索问题的答案,然后尝试各种解决办法,
因为只有解决这个这个问题,项目才能够正常启动,如果这一步都没有解决,那么其他的什么都别谈了。
三、解决方案
尝试方式一:
执行命令进行清理
mvn -U idea:idea
问题未解决.
https://blog.csdn.net/qq_39246334/article/details/109393354
尝试方式二:
清除idea缓存,然后重启IDEA 问题未解决;
开启自动加载jar包,问题未解决;
import快速导入,问题任然未解决。
https://www.cnblogs.com/lodalo/p/13678274.html
尝试方式三:
配置Maven的一些信息 问题未解决
https://blog.csdn.net/lzzdhhhh/article/details/105907772
尝试方式四:
单独使用命令清理IDEA插件 问题未解决
https://www.jianshu.com/p/47a058d15ec1
尝试方式五:
说是设置下载依赖包的源码 这听起来有些扯淡 CSDN干的事 还是未解决
https://blog.csdn.net/m0_49573573/article/details/121680390
自己在此期间也看了很多的其他博文,然后开始分析自己遇到的问题。
自己的项目 A 下面有三个子模块 B/C/D,C是抽取的公共模块,供其他模块调用。打包时,C模块可以正常打包,
可是其他模块依赖C模块的B/D打包时,报错。自己在打包时仔细看输出日志,打第一个模块C的jar包时,如果不添加任何配置,则报错
unable to find main class意思是找不到启动类。解决这个问题后,接着就出现上面的问题,可以打包了,可是其他项目不能引用C模块,
报错程序包xxx不存在找不到符号。后来了解到编译、打包插件有两类,一类是maven自带你的,一类是spring-boot集成的。
自己去看了以往开发的项目,在公共模块中,根本就没有引入 spring-boot-maven-plugin 这个依赖。公共模块打成jar包仅仅是提供给其他模块调用,
其本身并不会启动项目。了解到这点后,自己尝试着搜索,模块中如何排除 spring-boot-maven-plugin 依赖,找到一篇博文,在C模块中添加配置如下,
<build>
<!-- war、jar的名称 -->
<finalName>${artifactId}-${version}</finalName>
<plugins>
<!-- 编译插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
然后重新导入maven配置,重新打包,问题解决。
问题解决,之后搜索的时候发现还有一篇博文和我遇到类似的问题,参考 https://www.cnblogs.com/xiadongqing/p/12979764.html
之后的几个模块都采用这种方式进行处理,完全可行。
程序包 applets.user.service.UserService 不存在-2022新项目的更多相关文章
- VS2013中Nuget程序包管理器控制台使用入门(三)-项目实战(原创)
VS2013中Nuget程序包管理器控制台使用入门(三)-项目实战 1.给指定项目安装Newtonsoft.Json ,Version 4.5.11 PM> Install-Package Ne ...
- 用命令行工具创建 NuGet 程序包
NuGet.exe 下载地址 本文翻译自: https://docs.nuget.org/Create/Creating-and-Publishing-a-Package https://docs.n ...
- VS2013中Nuget程序包管理器控制台使用入门(二)-如何使用Nuget提供的帮助(原创)
如何使用Nuget提供的帮助? 1.从get-help Nuget开始,键入“get-help NuGet”以查看所有可用的 NuGet 命令. 用法: PM> get-help Nuget 主 ...
- VS NuGet加载本地程序包
NuGet是VS中非常实用的一个工具,我们可以通过它在线安装想要的程序包,只要右键点击解决方案中的项目的引用,在弹出的菜单中选择“管理NuGet程序包”,然后就可以通过在线搜索找到想要添加的程序包,下 ...
- Nuget包管理工具(程序包控制台执行语句)
NUGET命令 注:使用前确保nuget是最新版本,升级到最新版本有两种方式: (1).CMD将nuget升级到最新版本:nuget update -self (2).扩展中查看nuget是否需要更新 ...
- 十六、程序包管理之 rpm
c语言程序的构建过程 1.程序源代码 --> 预处理 --> 编译 --> 汇编 --> 链接--> 可执行程序 开放源码:就是程序码,文本格式的源代码,写给人类看的程序 ...
- 错误: 程序包com.sun.istack.internal不存在
eclipse下maven打包是出现如下错误: [ERROR] D:\code-old\daba_user_mvn\src\main\java\com\dada\transaction\service ...
- 解决xp下无法通过windows installer服务安装此安装程序包。您必须安装带有更新版本Wi
今天装 tortoisegit 的时候发现安装包不能使用.报错无法通过windows installer服务安装此安装程序包.您必须安装带有更新版本Windows Installer服务的Window ...
- 安装psacct或acct程序包
监视Linux用户活动 我认为,对每个想密切监视其服务器/系统上用户活动的Linux/Unix系统管理员来说,psacct或acct是优秀的.必需的应用程序之一. psacct或acct程序包提供了用 ...
随机推荐
- 用 Java 实现阻塞队列 ?
参考 java 中的阻塞队列的内容吧,直接实现有点烦
- 让弹幕给 PPD 生个孩子
怎样才能跑起来我写的弹幕程序 资源下载 申请野狗后端云账号注册 创建应用: 复制appId到index.html的 var ref = new Wilddog("https://<ap ...
- onsubmit阻止表单提交
在实际开发中往往会遇到检查表单数据的合法性,如果数据不合法,就不让其提交. <!DOCTYPE html> <html> <head> <meta chars ...
- 基于mongodb的搜索分页
mongodb模糊查询并分页 1.建立数据库 代码如下: var mongoose = require('mongoose'); var shortid = require('shortid'); v ...
- 深入研究const(es6特性)
const 申明常量 var str = 'es6' console.log(window.str) // es6 属于顶层对象window const不属于顶层对象window const str ...
- idea启动tomcat后控制台日志显示中文乱码问题
想必有些人 会遇到 控制台中文乱码: 可以通过以下方法解决该中文乱码问题: 1. 点击Help => Edit custom VM Options,在最后面添加 "-Dfile.en ...
- spring-注入集合对象
1.创建Stu类 package com.spring.collections; import java.util.Arrays; import java.util.List; import java ...
- MySQL创建高性能索引
参考<高性能MySQL>第3版 1 索引基础 1.1 索引作用 在MySQL中,查找数据时先在索引中找到对应的值,然后根据匹配的索引记录找到对应的数据行,假如要运行下面查询语句: 如果在u ...
- clickhouse智能提示编辑器
对于经常写sql的人来说智能提示是非常重要的,这个非常影响写sql的效率和心情. 这里说的智能提示不仅仅是关键字(select等)的智能提示,还得要做到表字段的智能提示. 例如: 下面是mysql的智 ...
- js如何判断一个对象是不是Array? 三种方法总有一种可以帮上忙
转载:http://www.nowamagic.net/librarys/veda/detail/1250 在开发中,我们经常需要判断某个对象是否为数组类型,在Js中检测对象类型的常见方法都有哪些呢? ...