08 java的package包和jar包

SpringBoot项目部署实战:JAR与WAR包部署原理、对比与生产环境最佳实践 Java Web应用部署是后端开发的核心环节,其本质是将应用程序从开发环境迁移到服务器环境,确保服务稳定运行。从技术原理上看,部署方式主要分为独立应用模型和容器依赖模型,这直接影响了应用的可移植性、资源管理和运维流程。在工程实践中,SpringBoot框架通过内嵌Servlet容器技术,实现了JAR包的一键式独立部署,大幅简化了传统Java EE应用的部署复杂度。对于需要融入现有企业级中间件体系或共享容器资源的场景,WAR包部署仍具价值。本文聚焦于SpringBoot项目的两种主流部署方式,深入解析JAR包 阅读详情

java里package作用相当于c++里的namespace, 用于避免定义重复类型的一种方法。
在eclipse的工程上新建一个类时,可在弹出的界面里设置新建的类是属于哪一个package的:
这里写图片描述

也可以类源码文件的第一行加: package mypack.test;
//如不指定属于哪个package的话,就是属于default package了.
//编译后,会在工程源码的bin编译目录下创建出 mypack/test目录,目录有属于这个package的类的class文件



在源码里使用另一个package里类或接口时,需要用”import package名.类名”
如在mypack.test包里有两个类:

/* Animal.java */
package mypack.test;

public class Animal {
    public void eat() {
        System.out.println("animal eats");
    }
}


/* Human.java */
package mypack.test;

public class Human {
    public void eat() {
        System.out.println("human eats");
    }

    public void move() {
        System.out.println("human moves");
    }

}

在default package里使用:


import mypack.test.Animal;
import mypack.test.Human;

public class Hello {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Human h = new Human();
        h.eat();
        h.move();

        Animal a = new Animal();
        a.eat();


    }

}


jar包其实就是java编译出来的class文件, 或者目录里class文件打包出来的压缩包。
在终端用jar命令打包:
//把多个class文件打包成jar文件
jar -cvf my.jar a.class b.class
//把整个目录里的class文件打包成jar
jar -cvf my.jar 目录名

如mypack/test目录下有Animal.class和Human.class
打包成jar包文件:
jar -cvf my.jar mypack

打包出my.jar包文件后,就可以在其它工程里使用这个包了,方法也是用”import package名.类名”.

同时在eclipse工程里也需要指定my.jar包的路径, 设置方法:
在eclipse选中工程,右键属性, 再选中”java构建路径”, 再选中右边的”库”页选框, 然后点击”增加外部JAR(x)”加入jar包
在代码里: import 包名.类名;

在URP中正确写入Sprite深度以使用DOF 我准备在文字冒险中加入景深的效果,但是因为unity内置shader的缘故,sprite是不会写入深度的,而如果要使用PostProcessing的DOF效果的话,是必须要将半透明物体的深度正确写入Depth Buffer的,这篇消耗了我大量精力的文章就是要介绍正确写入的方法。 其实,如果只是要在2D游戏中实现类似于景深的效果,不写入深度其实也是可以的,我找到的有两种方案:一种是实时对Sprite进行模糊计算;二是直接使用离线预模糊的图片,根据强度进行混合。 离线预模糊 虽然这两种方法都可以比较简 阅读详情

相关推荐

1173:阶乘和

1173:阶乘和 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 6010 通过数: 3049 【题目描述】 用高精度计算出S=1!+2!+3!+…+n!(n≤50),其中“!”表示阶乘,例如:5!=5×4×3×2×1。 输入正整数n,输出计算结果S。 【输入】 一个正整数n。 【输出】 计算结果S。 【输入样例】 5 【输出样例】 153 思路: ...

zqhf123的博客 1260

JAVA笔记四:包(package)与JAR文件

比如abc.edu.cn,逆序得到包名为cn.edu.abc,然后可以追加一个工程名corejava,在把类Employee放在这个包里,那么这个类的。标记为public的部分可以由任意类使用,标记为private的部分只能由定义他们的类使用,如果没有指定public或private,这个部分(类、方法、变量)可以被同一个包中的所有方法访问。注意:使用"*"只能导入一个包中的所有类,而不能使用import java.*或import java.*.*导入以java为前缀的所有包。使用import语句。

m0_61598337的博客 1131

AI 技术新手入门与实战指南

仅仅能对话还不够,实际应用中,我们往往需要让 AI 处理特定的业务数据。比如,从日志文件中提取错误码,或者将非结构化的用户反馈整理成 JSON 格式。这时候,自定义输入和严格的结果验证就显得尤为重要。假设我们需要让 AI 分析一段服务器日志,并只返回错误的级别和简述。请分析以下日志片段,提取所有 ERROR 级别的信息。要求输出格式为 JSON 列表,包含 'timestamp' 和 'message' 两个字段。不要输出任何多余的解释文字。日志内容: {

2600_94936330的博客 2680

maven打包命令打出的可执行的jar包和可依赖的jar包的区别

jar

weixin_70280523的博客 3177

NVIDIA NCCL 安装和测试实战教程

ibrary)是用于深度学习应用的高性能通信库,可加速多GPU通信和同步。它能够在多个GPU之间进行高效的数据传输和集体操作,显著提高了分布式GPU系统上深度学习训练和推理的性能。NVIDIA NCCL是加速多GPU系统上深度学习应用的必不可少的工具。其高效的通信原语和集体操作显著提高了分布式训练和推理的性能,使其成为现代深度学习基础架构的关键组成部分。

weixin_39818775的博客 4428

BGE-M3 文本情感分类实战:预训练模型微调,导出ONNX并测试

本文介绍了如何基于BGE-M3开源模型实现一个简单的二分类情感分析任务,展示了NLP中经典的“预训练 + 微调”范式。首先,加载预训练模型和分词器,并构建分类头整合到模型中。接着,进行数据预处理并构建DataLoader。然后,定义优化器、损失函数和训练循环,进行模型微调。微调过程中,可以选择基于[CLS] token的单特征提取或基于池化策略的多特征融合。最后,通过验证与推理评估模型性能,并导出ONNX模型以适应生产环境。BGE-M3在语义表征任务中表现优异,适合作为文本分类、语义搜索等下游任务的基础模型

大鹏的专栏 1403

packge、import、jar使用看这一篇就够了

packge的使用 我们众所周知所有的Java类都是放到一个目录下,因此类之间的相互调用就不需要说明。 但是需要注意以下两点: ——同一个目录下,两个类名不能系统 ——文件太多,查找和修改麻烦 因此Java造成多个目录放置Java类,造成跨目录放置和调用Java类。 下面我就解释一下怎样使用: 1 :首先就解释一下package包 package+类名 \ 类全称=package + 包名+类名 2 :解释import的用法: import 必须全部放在package之后,类定义之前。即放在中间 如果使

qq_43803452的博客 1292

CTF逆向实战:如何快速识别RC4、TEA和Base64的魔改变种?

本文针对CTF逆向比赛中常见的加密算法魔改问题,详细讲解了如何快速识别和破解RC4、TEA和Base64的变种。通过分析算法核心特征、常见魔改手法,并结合动态调试与脚本编写等实战技巧,帮助逆向分析人员有效应对算法混淆,提升解题效率。

agile9scrum的博客 782

使用jar命令创建可执行的jar包

jar文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布。 为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive (JAR) file,是的,就是java存档文件。这有点类似zip文件,想一想它是干什么的用的呢,压缩!?没错就是要压缩,将我们原先零散的东西放到一下,重新组织,所有这些目的只有一个:方便!好了,不用管他是怎么压缩的,我们的重点是哪些是我们要...

iteye_14108的博客 341

SimpleITK图像基础(一)——3D Resampling

文章目录前言基于SimpleITK进行实现 前言 进入深度学习网络之前需要进行统一数据集,这个时候需要对这些数据集进行重新采样,即假设各向同性体素并重新定向它们,以便可以读取所有图像的像素矩阵。 在将方位变换成一致时,可以用DICOMOrientImageFilter过滤器,可以将 DesiredCoordinateOrientation设置为你想要变换的方位,它将计算出所需的置换顺序并根据需要执行翻转以接近所需方向。 基于SimpleITK进行实现 workflow如下: step 1:首先运行DICOM

YYY_77的博客 2019

华硕ROG玩家国度安装Ubuntu双系统避坑指南:安全启动密钥那些事儿

本文详细解析了在华硕ROG玩家国度设备上安装Ubuntu双系统时,如何正确处理BIOS中的安全启动(Secure Boot)与密钥管理,避免常见的引导失败和Windows系统无法启动问题。指南提供了从数据备份、启动盘制作到BIOS精细设置(如将OS Type改为Other OS而非简单关闭Secure Boot)以及分区规划的完整流程,确保两个系统都能稳定共存。

weixin_29219189的博客 754

打jar包的时候,maven的install和package的区别

package可以理解成简单的打包,而install除了打包还会把这个包安装到maven仓库中去   如果其他项目需要依赖a项目,则a项目应该install,而不是简单地package  ...

霸王龙i的博客 3013

重磅!Repo Wiki!

RepoWiki是Qoder平台的智能文档生成功能,通过静态代码分析自动提取项目架构、模块依赖和核心逻辑,并持续追踪代码变更保持文档同步。其工作流程分为四个阶段:1)代码扫描与AST解析;2)结构分析与依赖映射;3)文档智能生成;4)增量更新机制。支持多种编程语言,能识别设计模式并推断技术决策,适用于新项目搭建和遗留系统维护。优势在于降低理解成本和提高开发效率,但存在文件数量限制和依赖Git的局限性。典型应用场景包括自动生成架构图、API手册和团队知识沉淀。

ayusong870的博客 4023

【java在Eclipse IDE项目中,如何导入jar包】

很多刚学java的小伙伴在使用第三方jar包会不知道如何导入包,接下来就是java项目在Eclipse IDE中导入jar包的步骤。

coder-kimbell的博客 3692

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java 根据环境导包_关于jar包的两种导包方式

##今天新建了一个工程项目需要用到我之前使用的东西,创建jar包后和往常一样直接在libraries里面配置,结果却发现导入的包并不起作用,查找发现了另一种导包方式...下面首先介绍一下普通的导包方式1)怎么创建jar包?##首先确定需要打成jar包的代码,project structure=>Aritfacts=>+ 选择jar##退回主页面,Build=>build arti...

weixin_28787115的博客 432

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【Java】Eclipse导出JAR包

普通类导出jar包,该类包含main方法,并且没有用到其他的第三方jar包。 1.在eclipse中选择你要导出的类或者package,右击,选择Export子选项; 2.在弹出的对话框中,选择JAR file,单击next; 3.在JAR file后面的文本框中选择你要生成的jar包的位置以及名字,注意在Export generated class files and resources...

abcdefg367的博客 209

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

不使用idea打jar包的方法

二、两种打jar包的方法 1、普通jar包 1)project structure =>Artfacts=>+选择 jar=> 2)Builder=>builder Artfacts=>build/rebuild=>在工程根目录下新增out目录中查看有xxx.jar 2、meavenjar包 1)通过Maven projects=>package=>右键run=>在target根目录下有xxx-1.0jar 2)配置maven的环境变量,并在dos窗口中

RacardoMlu的博客 522

包(package)和jar包

包(package) 对类文件进行分类管理 给类提供多层命名空间 写作程序文件的第一行 类名的全称是 包名.类名 包也式一种封装形式 命名方式 所以字母小写 package pack; javac -d(指定包存放的目录) javac -d c:\myclass PackgeDemo.java javac -d . PackgeDemo.java .代表当前目录 ...

weixin_30731287的博客 497

Java包及访问控制权限--包的定义和导入---package

1、包的定义 其中:  . 表示当前路径 2、包的导入 一个类需要被外包访问的话,需要定义为public class。 package org.lxh.demo08.a ; public class Demo{ public String getContent(){ return "MLDN LXH" ; } }; package org.

吴英强的技术博客 1930

IDEA将Maven项目打成可以执行的jar包

写在前边 现在的时间:2019-04-08 IDEA版本:2018.3 JDK版本:1.8.0_181 maven版本:3.6.0 打包步骤 第1步:在pom.xml文件中添加以下两个插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-...

Sacredness的博客 3469

看看idea+maven打jar包的两种方式

两种打jar包的方法: 一、普通jar包的打包方式: 在我们的idea工程界面,点击右上角的project structure 然后在project setting里面选择Artifacts,点击加号,选择jar,给个包名,然后apply 回到我们的工程界面,选择菜单栏中的build,下拉菜单中的build artifacts 如果是第一次打包就build,不是就rebuild 操作完成之后,我们会发现 jar包出现在工程根目录下新增的out目录中(xxx.jar) 二、Maven jar包: 通

weixin_44147632的博客 530

maven+jar包的两种导入+导出方式,值得一看

普通 jar 包的导出 1.点击 file 中的project.structor=>选择Artifacts=>+=>选择 jar+=>选择from modules with dependencies 2.如果你的 jar 包具有主函数main,即为可执行jar包则需要在下图所示处,输入主函数位置,点击右边文件夹,选择主函数即可 3.选择好后点击OK,切记下一步需要先应用在OK 4.导出成功后点击Builder=>build artifacts=>build/rebu

WCL0520的博客 905

解决resouce/lib包下的jar包package时不会被项目打进包里

如果你仅仅是这么做了,在你使用SpringBoot打包插件生成jar包的时候,你会发现这个jar包不会被打进去,进而出现错误。--设置为true,以便把本地的system的jar也包括进来-->(但是我配置到这一步我打的包里已经有这个jar包了?在使用Maven的时候,如果我们要依赖一个本地的jar包的时候,通常都会使用。//引用本地jar包。

weixin_47064437的博客 447

Atitit 软件命名空间 包的命名统计 及命名表(2000个名称) 方案java package

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Atitit.软件命名空间&nbsp;&nbsp;包的命名统计&nbsp;及命名表(2000个名称)&nbsp;方案java&nbsp;package&nbsp;

sdfhncfw的博客 401

包的定义和导入-----package

1、包的定义 其中:   . 表示当前路径 2、包的导入 一个类需要被外包访问的话,需要定义为public class。 package org.lxh.demo08.a ; public class Demo{ public String get...

weixin_34268169的博客 165

Java JAR打包相关

[b]JAVA jar打包时MANIFEST.MF格式约定[/b] [url]http://www.thinksaas.cn/topics/0/340/340208.html[/url] [code="MANIFAST"] Manifest-Version: 1.0 Created-By: Fat Jar Eclipse Plug-In Main-Class: com.lwf.m...

Jacky_Dai的专栏 325
上一篇: 07 java的object类和内部类, 匿名类和匿名对象
下一篇: 09 java的代码的执行顺序和异常处理
jklinux
博客等级 码龄10年 1060粉丝 276原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值