查看项目中哪些Java类用到了某个Jar包

新接手的一个项目,出了问题,要紧急上线。

出问题的地方代码比较复杂,并且刚好我对那块不太熟悉。。。

(泪,本来我有充分的时间去了解那一块,每次下决心去看,都被各种的封装,继承,接口和复用代码等等打败了

并且,那个功能已经上线了很久,都没出过问题。。就侥幸了一下。。没想到,竟然东窗事发了!!!)


坦白说,当时我又紧张又崩溃。

1.首先我老老实实的去调代码,找代码实现的地方,未果!

2.我以为是我能力有限,请来高手一起调代码,半个小时左右还是没找到。。。(藏的好深!!)

3.最后各种打听得知核心代码那里调用了公司另一个项目的接口,Jar包名我知道,就终于走上正轨了!

具体操作如下图:

1.


2.



3.找到了吧?!恭喜恭喜!!

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结的层次模型,并且允许和鼓励的重用,它提供了一种明确表述共性的方法。对象的一个新可以从现有的派生,这个过程称为继承。新继承了原始的特性,新称为原始的派生(子),而原始称为新的基(父)。派生可以从它的基那里继承方法和实例变量,并且可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 2、String是最基本的数据型吗? 基本数据型包括byte、int、char、long、float、double、boolean和short。 java.lang.String是final型的,因此不可以继承这个、不能修改这个。为了提高效率节省空间,我们应该用StringBuffer 3、int 和 Integer 有什么区别 Java 提供两种不同的型:引用型和原始型(或内置型)。Int是java的原始数据型,Integer是java为int提供的封装Java为每个原始型提供了封装。 原始型封装 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble 引用型和原始型的行为完全不同,并且它们具有不同的语义。引用型和原始型具有不同的特征和用法,它们包括:大小和速度问题,这种型以哪种型的数据结构存储,当引用型和原始型用作某个的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始型实例变量的缺省值与它们的型有关。 4、String 和StringBuffer的区别 JAVA平台提供了两个:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String提供了数值不可改变的字符串。而这个StringBuffer提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 5、运行时异常与一般异常有何异同? 异常表示程序运行过程可能出现的非正常状态,运行时异常表示虚拟机的通常操作可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 6、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别在于servlet处于服务器进程,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。 7、说出ArrayList,Vector, LinkedList的存储性能和特性 ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。 EJB包括Session Bean、Entity Bean、Message Driven Bea
Java EE常用框架 WebService 介绍 基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用 术语 XML. Extensible Markup Language -扩展性标记语言 WSDL – WebService Description Language – Web服务描述语言。 SOAP-Simple Object Access Protocol(简单对象访问协议) SOA(Service-Oriented Architecture) :面向服务的架构 它是一种思想,IBM大力倡导是即插即用的,IBM大力提倡,希望以组装电脑的方式来开发应用 它是目录服务,通过该服务可以注册和发布webservcie,以便第三方的调用者统一调用 使用: 二、我们可以使用Java自带的WsImport来实现本地代理。这种方法会将WebService翻译成Java,我们使用一样去访问WebService就行了。非常好用。 三、除了调用别人发布的webService,也可以自己发布WebService服务 四、CXF框架可以与spring无缝连接,就不用我们自己Endpoint了。它还能记录日志之的 五、我们还可以使用Idea下的webservice,能够使用图形画面的方式获取本地代理和生成WSDL文件。 Activiti 介绍 Activiti5是一个业务流程管理(BPM)框架 如果我们的业务是比较复杂的话,我们才会用到工作流! 使用Activiti的步骤 定义工作流 画一个BPMN图就可以了 部署工作流 执行工作流-->按照我们定义的工作流来执行 工作流在执行的过程肯定会涉及到很多数据,Activiti是默认提供数据库表给我们使用的 Activiti工作流框架快速入门: 定义工作流,使用插件来把我们的流程图画出来。这个流程图就是我们定义的工作流。 工作流引擎是工作流的核心,能够让我们定义出来的工作流部署起来。 由于我们使用工作流的时候是有很多数据产生的,因此Activiti是将数据保存到数据库表的。这些数据库表由Actitviti创建,由Activiti维护。 部署完的工作流是需要手动去执行该工作流的。 根据由谁处理当前任务,我们就可以查询出具体的任务信息。 根据任务的id,我们就可以执行任务了。 细节 流程定义:涉及到了四张数据库表 我们可以通过API把我们的流程定义图读取出来 可以根据查询最新版本的流程定义 删除流程定义 部署流程定义的时候也可以是ZIP文件 流程运行:涉及到两个对象,四张数据库表: 流程实例 获取流程实例和任务的历史信息 判断流程实例是否为空来判断流程是否结束了 查看正在运行服务的详细信息 通过流程实例来开启流程 流程变量:它涉及到了两张表。 流 程变量实际上就是我们的条件。 作用 我们可以在流程开始的时候设置流程变量,在任务完成的时候设置流程变量。 运行时服务和流程任务都可以设置流程变量。 连线 通过连线我们可以在其设置条件,根据不同的条件流程走不同的分支 排他网关 SpringData JPA 简介 API Repository接口 PagingAndSortingRepository JpaRepository JpaSpecificationExecutor 过滤条件查询接口 注解 nameQuery注解 SQL命名,调用的时候根据名称调用 查询注解 1,targetEntity 属性表示默认关联的实体型,默认为当前标注的实体。 2,cascade属性表示与此实体一对一关联的实体的级联样式型。 3,fetch属性是该实体的加载方式,默认为即时加载EAGER 4,optional属性表示关联的该实体是否能够存在null值,默认为ture,如果设置为false,则该实体不能为null, 5, mapperBy属性:指关系被维护端 1,@JoinColumn注释是保存表与表之间关系的字段 2,如果不设置name,默认name = 关联表的名称+”-“+关联表
Java项目引入jar包有几种方法。一种方法是手动将jar包添加到项目的构建路径。你可以从网上下载所需的jar包,或者从其他项目或库获取。然后,你可以按照以下步骤将jar包导入到Java项目: 1. 将jar包复制到项目的某个目录下,比如lib目录。 2. 在Eclipse,右键单击项目,选择"Build Path",然后选择"Configure Build Path"。 3. 在弹出的窗口,选择"Libraries"选项卡。 4. 点击"Add JARs"或"Add External JARs"按钮,然后浏览并选择你要导入的jar包。 5. 点击"OK"按钮,jar包就会被添加到项目的构建路径。 6. 现在,你可以在项目使用jar包和方法了。 另一种方法是使用命令行来引入jar包。你可以使用"-cp"参数指定jar包的路径。例如,你可以使用以下命令编译和运行包含jar包Java项目: ``` javac -classpath .;path/to/jar/file.jar YourJavaFile.java java -cp .;path/to/jar/file.jar YourJavaClass ``` 请注意,上述命令的"path/to/jar/file.jar"应替换为你实际的jar包路径。 总之,无论是通过IDE还是命令行,你都可以将jar包导入到Java项目,以便在项目使用jar包和方法。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [向Java项目导入jar包方法详述](https://blog.csdn.net/qiannianguji01/article/details/50506158)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Java小白翻身教程-链表结构与编译大法(4)](https://blog.csdn.net/weixin_39570751/article/details/118821687)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值