[java]jar包使用

带包名编译执行

$: cat Demo.java
package com.itheima_03;

public class Demo {
    public static void main(String[] args) {
        System.out.println("maotai");
    }

    public static void show() {
        System.out.println("show");
    }

    public static void add(int a, int b) {
        System.out.println(a + b);
    }
}
$: javac Demo.java
$: java Demo.class
错误: 找不到或无法加载主类 Demo.class
原因: java.lang.ClassNotFoundException: Demo.class
// -d directory, 自动生成包名文件夹

$: javac -d . Demo.java

$: ls com/itheima_03/
Demo.class
//执行报错
$: java Demo
错误: 找不到或无法加载主类 Demo
原因: java.lang.ClassNotFoundException: Demo

//包名+类名  唯一定位一个类
$: java com.itheima_03.Demo
maotai

将class打包为jar包, 供别人使用

$: jar -cvf hello.jar com
已添加清单
正在添加: com/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/itheima_03/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/itheima_03/Demo.class(输入 = 567) (输出 = 361)(压缩了 36%)
//将所有的class文件都打包好了

$: ls hello.jar
hello.jar

$: jar -tf hello.jar
META-INF/
META-INF/MANIFEST.MF
com/
com/itheima_03/
com/itheima_03/Demo.class

//提供给别人使用
idea: file->project structure->library -> 将hello.jar添加到某个(myMehtod)模块下

//他人的myMehtod模块下使用:
package com.itheima_01;

import com.itheima_03.Demo;

public class MethodDemo {
    public static void main(String[] args) {
        Demo.show();
        Demo.add(1,2);
    }
}

jar包中的class是如何被检索到的

$: java -cp ./hello.jar com.itheima_03.Demo
maotai

指定classpath,即可找到: classpath和jar

制作可执行jar包

如何创建可执行的jar包

//压缩带-e ,并指定主类

$: jar -cvfe hello.jar com.itheima_03.Demo com
已添加清单
正在添加: com/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/itheima_03/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: com/itheima_03/Demo.class(输入 = 567) (输出 = 361)(压缩了 36%)
$: cat MANIFEST.MF
Manifest-Version: 1.0
Created-By: 13.0.2 (Oracle Corporation)
Main-Class: com.itheima_03.Demo  //主类
$: java -jar hello.jar
maotai

原文地址:https://www.cnblogs.com/iiiiiher/p/12359950.html

时间: 2024-10-10 17:32:22

[java]jar包使用的相关文章

java jar包资源下载

jar包有:commons-httpclient-3.1,commons-io-2.4,commons-io-2.6,commons-lang-2.5,commons-logging-1.2,curvesapi-1.06,dom4j-2.1.0,ezmorph-1.0.3,fastjson-1.2.5,gson-2.8.2,hamcrest-core-1.3,httpclient-4.5.3,javax.mail,json,json-lib-2.4-jdk15,jstl-1.2,log4j-1.

java jar包冲突解决方法

jar包冲突几乎是每个java程序员都会遇到的问题,而且特别是大工程,jar包各种依赖,经常性发生包冲突.通常会报这样几个运行时异常: java.lang.NoSuchMehodError java.lang.NoClassDefFoundError 这类问题十有八九都是jar包冲突引起,要解决jar包冲突问题,我们先了解下导致这个冲突的原因. 导致jar包冲突的原因 1.mvn的传递依赖特性:mvn编译打包除了会引入直接申明的依赖,还会引入间接申明的依赖 2.mvn的依赖仲裁规则: 1). 按

Java jar包查询下载方法

做过java开发的工程师,对java应用所需jar包一定不会陌生.特别是有需要搭建开发环境时,对各种jar包的需求量就会很大. 如何快速的找到自己想要的jar包,是蛮多java工程师所面临的一个难题. 话不多说,下面的方法是我在无意中发现的,特共享出来(http://www.devexception.com/j2se/545902.htm),希望对大家有所帮助. 比如你要找jar包:commons-io-2.4.jar 你可以去相应的官网去查找,可你不是所有的jar都知道其官网, 或者其官网也不

java jar包运行方法

http://java-beginner-liyun.iteye.com/blog/736752一.怎么打jar包 第一步:选中要打jar包的工程 第二步:鼠标右击,选择Export... 第三步:选择java中的Runnable JAR file(如图) 点击“Next” 第四步:(1)在Launch configuration:选择要打jar包的mian所在的类名:(如图) (2)在Export destination:选择要存放jar的名称和地址(如图)       (3)如果要打的jar

java jar包与配置文件的写法

一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该jar包,出错,原工程中properties文件读取代码如下: InputStream in = SystemConfig.class.getResourceAsStream("/config.properties"); FileInputStream in = new FileInputS

java jar包收集

activation~与javaMail有关的jar包,使用javaMail时应与mail.jar (mail.jar和activation.jar)一起加入到lib中去,具体负责mail的数据源和类型等. ApacheActiveMQ~Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现. ajaxtags~ajax提供的标签库,使用户能像使用jsp普通标签一样使用ajax. Apache Ant~

java jar包的路径

用java些的脚本,然后打成jar包运行,jar包里的程序需要读配置文件的一些参数,所以需要确定读配置文件的路径.一般配置文件和jar包放置在同一目录下,这个时候就需要jar包里的代码,取到jar包存放的路径,以便读配置文件:取jar包存放路径的代码如下: String jarWholePath =         DbfImport.class.getProtectionDomain().getCodeSource().getLocation().getFile();  jarWholePat

通过JavaService 将java jar包注册成Windows 服务

一. 下载Javaservice ,把压缩文件解压,放到本地磁盘.下载地址:JavaService 64位 http://download.forge.ow2.org/javaservice/JavaService_2_0_10-amd64.zip JavaService 32位 http://download.forge.ow2.org/javaservice/JavaService-2.0.10.zip二. 准备jar包,查看jar 包Main函数所在的class三. 将jar包.解压后的J

Linux发布java jar包

打包参考https://www.cnblogs.com/Rexcnblog/p/11357146.html 刚打包出来新鲜的jar 然后开始一顿猛如虎的操作了,把打包的jar和对用的sh文件拷贝到linux服务器中 需要这几个,然后高高兴兴的执行下 ./cc-java.sh start 比较尴尬,不允许执行...那就打开读写权限 再次执行 执行是没问题了,但是报错没有java环境,这个确实没有,那就安装下. 参考https://www.cnblogs.com/Rexcnblog/p/113572