程序包 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程序包提供了用 ...
随机推荐
- HTML5相关文章和资源
Polyfills HTML5 Cross Browser Polyfills canvas HTML5 JS实现毛玻璃效果(高斯模糊) 高斯模糊的算法Canvas 内部元素添加事件处理 应用场景 P ...
- 小程序刷新webview小结
场景 在小程序其它页面做了操作,数据发生改变,回到webview页面时需要更新webview里面的数据.由于小程序没有提供与webview的实时通信能力,因此刷新页面是个可考虑的做法. 方法一 最常见 ...
- 每天找回一点点之MD5加密算法
之前在做项目的时候用户密码都进行了MD5的加密,今天突然想起来了总结一下(●'◡'●) 一.MD5是什么? MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被 ...
- js select 删除某一项下拉列表的值
<script type="text/javascript"> //muqingwei modify 通过群组类别选择需要的的群组 var mySelect = doc ...
- 数组 indexOf()
众所周知,indexOf()这个方法经常出现在字符串的使用中,也许是用来寻找字符串中某一字符在字符串中的位置,或者也可以用来寻找字符串中重复出现的字符有哪些.对于刚接触 JS 的我们来说,在对数组的操 ...
- vue报错解决方案
Vue build faild 解决办法: https://blog.csdn.net/u011169370/article/details/83346176 ? jbcmVideo git:(oah ...
- Django实现统一包装接口返回值数据格式
前言 最近实在太忙了,开始了一个新的项目,为了快速形成产品,我选择了Django来实现后端,然后又拿起了之前我封装了项目脚手架「DjangoStarter」. 由于前段时间我写了不少.NetCore的 ...
- [转]Fabric2.3中使用test-network搭建测试网络
这个测试网络一方面可以用来学习Fabric,另一方面也可以让一些更有经验的开发者来测试他们的智能合约和应用,但是不建议用于生产环境,在2.0版本后,这个测试网络也取代了原来的"first-n ...
- LC-454
题目 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < ...
- IOH和MCH(北桥芯片的变化)
IOH位置架构图示意图 北桥芯片-MCH和北桥芯片-IOH区别 1.MCH是内存控制器中心的英文缩写,负责连接CPU,AGP总线和内存, 目前Intel的CPU已经把内存控制器(北桥芯片-MCH)总线 ...