ubuntu下java调用自己做的*.jar包

2 篇文章 0 订阅

 最近在做一个和版权保护相关的项目,前面几篇博文也是和这个项目有关的。随着项目需求的不断完善,实现的方法也在逐步做小的修改。

昨天接到了需求是把我用C语言写的库封装一层java程序,把这个程序做成*jar包的形式,以供别人的程序调用。

博主在2007年接触过java,并且考取了java二级,不过经历了14年的低档,这些东西基本都忘记了。昨天又重新查找资料复习了一下java的知识。现在记录一下ubuntu下java调用自己做的*.jar包的注意事项。

1.首先在当前目录建立 com/baidu/ 子目录,并且在这个目录创建Demo.java程序

package com.baidu;

public class Demo
{
        public String getInfo() {
                return "Hello, world!!!";
        }
}

2.在 com/baidu 目录下执行 javac Demo.java 命令结果是在 com/baidu 生成 Demo.class 文件

3.进入和 com 同级的目录

4.执行 jar cvf my.jar com 命令,对 com 文件夹打包

从命令的输出可以看到

added manifest
adding: com/(in = 0) (out= 0)(stored 0%)
adding: com/baidu/(in = 0) (out= 0)(stored 0%)
adding: com/baidu/Demo.java(in = 100) (out= 94)(deflated 6%)
adding: com/baidu/Demo.class(in = 287) (out= 225)(deflated 21%)

这是压缩进 my.jar 的具体内容。

压缩完成之后我们看到在 learn_java 目录下多了一个 my.jar 文件。

5.进入 com/baidu 目录删除 Demo.class 文件(删除的目的是为了确定后面步骤中编译和运行其他程序用的是 my.jar)

6.然后返回 com 文件夹编写 TestDemo.jave 文件

import com.baidu.Demo;

public class TestDemo
{
        public static void main(String[] args)
        {
                Demo demo = new Demo();
                System.out.println(demo.getInfo());
        }
}

在 TestDemo.java 文件的首行我们导入了 com.baidu.Demo 类。

7.执行 javac -cp my.jar TestDemo.java 命令引用 my.jar 包一起编译 TestDemo.java 文件

我们看到命令执行之后,在同级目录下生成了 TestDemo.class 文件。

8.执行 set classpath my.jar 设置环境变量,把 my.jar 放进 classpath 里,然后再次调用 javac TestDemo.java 命令编译 TestDemo.java 程序

9.执行 java TestDemo 命令进行测试

从输出我们看到执行了 my.jar 里的方法。

注:

我们看到第七步用了 -cp 参数编译 my.jar 和 TestDemo.java ,这样编译也确实生成了 TestDemo.class,但是当我们执行 java -cp my.jar TestDemo 命令时,却报错不能产生正确的输出

所以我们采用了第 8,9 步的方式来调用的 my.jar 包,并且出现了期望中的结果。

本篇文章参考:https://jingyan.baidu.com/article/ceb9fb10c219a18cac2ba07c.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值