首页 > 编程语言 >java -cp 错误:找不到或无法加载主类

java -cp 错误:找不到或无法加载主类

时间:2023-05-06 10:33:24浏览次数:51  
标签:调用 java 主类 jar cp 加载

java -cp 错误:找不到或无法加载主类

1.问题场景
在一个项目开发中,我需要写一个 windows的bat脚本,需要在里面 调用 SpringBoot项目生成的jar包,我在调用 classes下面的 jar时

通过 调用 jar包 去调用 jar包中的某个 .java类

总是报 错误:找不到或无法加载主类

最后搞的我心态都崩了,明明路径正确 ,就是找不到


2.问题分析
SpringBoot项目生成的 jar包 ,大家可以看到内部,和这个 classes是在 BOOT-INF下面
BOOT-INF 下层目录是 classes ,在下层才有com文件,com里面存储的就是 我们的代码


平常的 maven项目打的jar包,大家对比上面看,平常的这个 直接就是 classes目录下面,而上面的 SpringBoot就是 多了一层,所以会导致使用 java -cp 的时候找不到。


3.正确调用
在你调用命令的后面加上 org.springframework.boot.loader.PropertiesLauncher

使用正确的命令 这个命令就可以了
java -cp .:uxccServer-0.0.1-SNAPSHOT.jar -Dloader.main=com.uxdb.webserver.common.jenkinspackage.UxccReplace org.springframework.boot.loader.PropertiesLauncher
1
2
4.PropertiesLauncher是什么
PropertiesLauncher有一些特殊的性质,它们可以通过外部属性来启用(系统属性,环境变量,manifest实体或application.properties)。

springboot的类加载器(org.springframework.boot.loader)

springboot项目启动,调用的是相应的类加载器的main方法,而不是我们自己编写的SpringApplication

Spring Boot Loader提供了一套标准用于执行SpringBoot打包出来的jar,这套标准就是我们的类加载器
————————————————
版权声明:本文为CSDN博主「有翅膀的猫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_48321825/article/details/129166052

标签:调用,java,主类,jar,cp,加载
From: https://www.cnblogs.com/huliangqing/p/17376436.html

相关文章

  • 一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例
    文章目录1Socket讲解2基于Socket的TCP编程3客户端Socket的工作过程包含以下四个基本的步骤3.1客户端创建Socket对象4服务器程序的工作过程包含以下四个基本的步骤:4.1服务器建立`ServerSocket`对象5案例实现客户端和服务端通信5.1代码实现5.2实现结果6更多案例分析6.1客......
  • 实践分享:打造极具高扩展性的JavaScript SDK
    SDK(SoftwareDeveloperKit)是使用FeatureProbe服务必不可少的工具之一。SDK能将用户的应用程序连接到FeatureProbe服务,根据用户的配置获取开关的结果,还能将开关的访问情况上报给FeatureProbe,进而实现A/B实验的能力。FeatureProbe目前对外提供十余种主流开发语言的SDK,包括......
  • Java实验十
    1importjava.io.*;2importjava.util.Arrays;3importjava.util.InputMismatchException;4importjava.util.Scanner;56publicclassAverageScore{7publicstaticvoidmain(String[]args)throwsIOException{8//System.out.println......
  • JavaWeb回顾与小结(六)
    项目实战-新增员工思路接收并封装参数,调用service方法保存数据,响应result@PostMapping@RequestBody补充实体基础属性,调用mapper接口进行保存数据操作insertintoemp(...)values(?,?,?);文件上传简介文件上传,指将本地图片,视频,音频等文件上传到服务器,供其他用......
  • 25基于java的在线考试系统
    一、项目简介随着互联网迅速发展,人们的生活已经越来越离不开互联网,人们足不出户就可以工作、买卖、学习等。对于在校学生,通过网络教育不仅可以随时进行网络学习,也可以根据学习的情况自我检测,有利于学生高效、快捷地掌握所学的知识。本系统预设计的基于网络的学生自测系统将实现......
  • TCP的三次握手和四次挥手分析
    一、tcp报文格式主要关注的字段为:源端口号(SourcePort),目的端口号(DestinationPort)序列号seq(SequenceNumber)确认号ack(AcknowledgmentNumber)标志位:ACK,SYN,FIN二、三次握手客户端将TCP报文标志位SYN置为1,随机产生一个序号值seq=x,发送给服务端。发送完毕后,客户端进入SYN_......
  • java基于springboot+vue的校园新闻网站、校园新闻管理系统,附源码+数据库+文档+PPT,适合
    1、项目介绍校园新闻网站的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中心、用户管理、新闻类型管理、校园新闻管理、留言板管理、论坛交流、系统管理,用户前台:首页、校园新闻、论坛交流、留言反馈、个人中心、后台管理等功能。由于本网站的功能模块设计比较全面,所......
  • 电子邮件系统 3----JavaMail POP3接收邮件示例 .
    1./**2.*CrazyItTest3.*使用JavaMail编写接收邮件示例4.*/5.package6.import7.import8.import9.import10.import11.import12.import13.import14.import15./**16.*@authorBillTu(tujiyue/iwtxokhtd)17.*May27,2011[10:04:20PM]18.......
  • Java8 Stream流的合并
    最近的需求里有这样一个场景,要校验一个集合中每个对象的多个Id的有效性。比如一个Customer对象,有3个Id:id1,id2,id3,要把这些Id全部取出来,然后去数据库里查询它是否存在。@Data@AllArgsConstructorpublicclassCustomer{privateStringname;privateStringid1;p......
  • 网页抓取--1(原网页+Javascript返回数据)
     有时候由于种种原因,我们需要采集某个网站的数据,但由于不同网站对数据的显示方式略有不同!本文就用Java给大家演示如何抓取网站的数据:(1)抓取原网页数据;(2)抓取网页Javascript返回的数据。一、抓取原网页。这个例子我们准备从http://ip.chinaz.com上抓取ip查询的结果:第一步:打开这个网页......