修改jar包package目录结构操作方法
为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
包的作用
1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。
下面给大家介绍修改jar包package目录结构操作方法,具体内容如下所示:
开发中会遇到用第三方的jar包,有时候会出现不同的jar包,包名一致的情况,这就会引发运行时异常,找不到相应的jar包。
这种问题时常困扰我们很长时间。下面提出一种解决办法,例如gson.jar。
1、新建一个文件夹
2、将要修改的jar包放到文件夹里。
3、在该文件夹下创建一个txt文件,文件名为rule.txt,文件内容为
com.google.gson.** 为jar包里的引用路径,**表示所有
JPData.com.google.gson.@1 为要修改的jar包的引用路径 @1 我不知道是什么意思,大概是配置 **的所有,的意思吧!
4、下载jarjar-1.1.jar
包。将jarjar-1.1.jar放到刚刚新建的文件夹下。
下载链接:http://www.java2s.com/Code/Jar/j/Downloadjarjar11jar.htm,点击红色框,就可以下载。
目前这个文件夹应该有下面这些。红色框起来的是生成的jar,因为懒,没删!
5 、 执行cmd命令,进入到该文件目录,输入“java -jar jarjar-1.1.jar process rule.txt gson-2.2.4.jar JPDatagson-2.2.4.jar”,回车,如果没报错,那么恭喜你,成功了。
其中,gson-2.2.4.jar是原jar包的名字,JPDatagson-2.2.4.jar是生成jar包的名字。
结果如下:
好了,到这里就完成了。
总结
以上所述是小编给大家介绍的修改jar包package目录结构操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关推荐
-
maven打包成第三方jar包且把pom依赖包打入进来的方法
添加此PLUGIN到项目的POM.XML中 <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.allen.capturewebdata.Main</mainClass> </mani
-
IntelliJ IDEA引入第三方jar包或查看Java源码的时候报decompiled.class file bytecode version:52.0(java 8)错误的解决办法
引入第三方jar包或者查看Java源码的时候,经常遇到问题如下: decompiled.class file bytecode version:52.0(java 8) ,open source file. 翻译一下上面的意思:(反编译 .class文件中的字节码 到Java 8 版本) 打开源文件 其实这个时候,你就得注意一下,你看到文件是 .class文件,还是 .java文件. 然后我就详细的总结了一下,二者的差别: 1.先是理论知识: .java为Java的源文件后缀,编写的代码需要写在
-
spring boot 打包jar jar没有主目录清单问题的完美解决方法
1.在POM.xml文件下添加如下代码:注意:version.configuration.executions三个标签是我后来查找添加的,网上解决方案要么没有这三个要么不一样,我试了都不行,而且我在我电脑试了这三个标签必须有: 2.如果没有version标签会在生成时会报错. 3.如果没有configuration.executions两个标签生成的jar会报jar没有主目录清单错误: 哀 折腾一天,没办法谁让自己是小白那.还有一个主意的:packaging标签页必须有: <packaging
-
Intellij IDEA 添加jar包的三种方式(小结)
一.直接复制:(不推荐) 方法:直接将硬盘上的jar包复制粘贴到项目的lib目录下即可. 注意: 1.对于导入的eclipse项目,该方式添加的jar包没有任何反应,用make编译项目会报错 2.对于在idea中创建的项目,该方式添加jar包,编译不报错,但是打开Structure会有"...jar ... is missing ..."的提示,需要点击"Fix"或红灯泡解决. 二.通过Modules的Dependencies添加:(推荐) 1.打开 File -&
-
idea中将单个java类导出为jar包文件的方法
前言 idea作为一个java开发的便利IDE工具,个人是比较喜欢的,今天来探索个小功能: 导出单个类文件为jar包! JAR文件的全称是Java Archive File,意思就是Java档案文件.通常JAR文件是一种压缩文件,与常见的ZIP压缩文件兼容,同城也被称为JAR包.JAR文件与zip文件的去区别就是在JAR文件中默认包含了一个名为META-INF/MANIFEST.MF的清单文件,这个清单文件是在生成JAR文件时系统自动创建的. 当开发了一个应用程序后,这个应用程序包含了很多类,如
-
SpringBoot上传文件到本服务器 目录与jar包同级问题
前言 看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了. 当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用SpringBoot的jar包发布项目的时候,你会发现,你不能像以前一样操作文件了.当你使用File file = new File()的时候根本不知道这个路径怎么办.而且总不能很小的项目也给它构建一个文件服务器吧.所以这次就来解决这样的问题. 不想知道细节的,可以直接跳转到最后封装的部分,里面
-
intellij idea 将模块打jar包的步骤详解
今天要想在本机开多个java压测进程测试目标程序.所以需要在本机开多个终端执行jar程序.步骤如下: 1.点开Project Structure,点击左侧Artifacts菜单 选择下图中1.后点击2处 +号,选中3 jar的子菜单 点击4处"from modules with dependencise". 2. 进入下图:Module:选择你要打jar包的模块,MainClass:选择你main 函数所在的类 Jar files from libraries: 选中第一个打完包后是一
-
修改jar包package目录结构操作方法
为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间. 包的作用 1.把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2.如同文件夹一样,包也采用了树形目录的存储方式.同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别.因此,包可以避免名字冲突. 3.包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类. Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位
-
SpringBoot项目jar发布后如何获取jar包所在目录路径
目录 SpringBoot项目jar发布获取jar包所在目录路径 SpringBoot打可执行jar运行时输出文件路径问题 SpringBoot项目jar发布获取jar包所在目录路径 ApplicationHome ah = new ApplicationHome(getClass()); File file = ah.getSource(); System.out.println(file.getParentFile().toString()); 说明: 该种方法获取jar包所在路径好处,会根
-
SpringBoot项目中jar发布获取jar包所在目录路径的最佳方法
示例代码: //第一种 File path = new File(ResourceUtils.getURL("classpath:").getPath()); if(!path.exists()) path = new File(""); System.out.println(path.getAbsolutePath()); //第二种 System.out.println(System.getProperty("user.dir")); //
-
java命令执行jar包的多种方法(四种方法)
大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口. 具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件. 比如有个叫做test.jar的jar包,里面有一个拥有main函数的main class:test.someClassName 我们就只要在MANIFEST.MF里面添加如下一句话: Main-Class: test.someClassName 然后我们可以在控制台里输入java
-
Mybatis逆工程jar包的修改和打包
上一篇文章Mybatis逆工程的使用主要是讲了mybatis-generator-core-1.3.2.jar的使用,这一篇我要介绍的是,修改jar包代码,实现生成自定义模板. 1.我们从这里可以下载mybatis-generator-core-1.3.2.jar项目源码 http://maven.outofmemory.cn/org.mybatis.generator/mybatis-generator-core/1.3.2/ 2.在eclipse下导入存在的maven项目,File->Imp
-
springboot项目以jar包运行的操作方法
公司的springboot项目本来是打war包的,突然要求改成jar包,一路上碰到一些坑,在此记录一下. 一.pom文件配置 1.打包方式改成jar <packaging>jar</packaging> 2.配置可执行jar包的maven插件 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>sp
-
Java 获取 jar包以外的资源操作
在使用 jar 执行 java 代码时,有一个需求是从 jar 包所在目录的同级目录下读取配置文件的需求,从网上找了很多方法感觉都挺复杂的, 在这里总结一下. 以classpath 开头的 URL 表示该文件为jar包内文件的路径. 如:classpath://config/app.config表示jar包根路径config文件夹下的app.config文件 以file开头的URL表示该文件为jar 包外文件的路径 如:file://./config/app.config表示 摘要 // 当前我
-
Spring boot 打jar包分离lib的正确配置方式
前言 Springboot 打jar包分离lib,配置文件的方式,网上可以搜到的我都没试通.跟刘大神(大神没有博客,很可惜)讨论后,给出了这么一个解决方案,供大家参考. 部署环境 window 10 redhat 6.4 其他版本没有尝试,应该也是可以的 POM.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.
-
win10下定时运行与开机自启动jar包的方法记录
需求说明: java程序打包成jar包 jar包开机自启动 jar包每隔一段时间重启 环境说明 运行环境:win 10 编程环境:IDEA 2019 项目:MAVEN项目 IDEA中打包maven项目 右侧maven–点击package–打包完成 打包完成之后生成jar包,在项目的target文件夹下 定位到该jar包所在目录下,复制或者剪切该jar包 在F盘新建一个文件夹,命名为"startBat",将jar包放在该文件夹中 编写Bat脚本 在jar包的同目录下新建start.bat
-
使用springboot 打包插件去除jar包瘦身
1.pom文件配置 1.1 添加maven-dependency-plugin插件用于将引用的jar包拷贝到指定的路径 便于后续tomcat启动指定依赖包路径 <!--拷贝依赖到jar外面的lib目录--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <execution
随机推荐
- 超酷炫的Android碎纸机效果推荐
- Java 正则表达式功能及应用
- java Socket实现简单模拟HTTP服务器
- Oracle数据库技术(38)
- Python multiprocessing.Manager介绍和实例(进程间共享数据)
- .NET实现文件跨服务器上传下载的方法
- js charAt的使用示例
- javascript的indexOf忽略大小写的方法
- 12种最常用的网页编程语言简介(值得收藏)
- jsp重定向地址栏不改变的实例
- linux下执行shell命令方法简介
- 浅谈jQuery为哪般去掉了浏览器检测
- Android 动态显示和隐藏状态栏详解及实例
- Java实现简单的模板渲染
- android 判断网络是否可用与连接的网络是否能上网
- Python实现Dijkstra算法
- 详解vue的双向绑定原理及实现
- Python对HTML转义字符进行反转义的实现方法
- Android自定义view仿IOS开关效果
- PHP面向对象程序设计之多态性的应用示例