• java程序编译


    Empoyee.java

    package Company;
    
    public class Empoyee
    {
        String name = "";
    
        public Empoyee(String name)
        {
            this.name = name;
        }
    
        public String getName()
        {
            return this.name;
        }
    }

    编译

    # 开发第三方库
    cd ~/src/Company
    mkdir source
    mkdir classes
    
    # 编写代码并编译
    cd source
    javac -d ../classes Empoyee.java
    
    # 生成Company.jar 
    cd ../classes
    jar -cvf Company.jar Company/*.java

    Hello.java

    import Company.Empoyee;
    
    public class Hello{
        public static void main(String args[])
        {
            Empoyee e1 = new Empoyee("lishujun");
            System.out.println(e1.getName());
        }
    }

    编译

    # 在代码里引用第三方库进行开发
    
    cd ~/src/hello
    mkdir classes
    mkdir source
    mkdir lib
    
    # 编译引用第三方库程序
    cd source
    javac -d ../classes Hello.java -cp ../lib/Company.jar
    
    # 执行引用第三方库程序
    cd ../classes
    java -cp .;../lib/Company.jar Hello
    MANIFEST.MF文件内容:
    
    Manifest-Version: 1.0
    Class-Path: ../lib/Company.jar
    Main-Class: Hello
    
    Class-Path指定的是该jar包依赖的第三方jar包位置
    
    Main-Class指定的是包含main函数的文件名
    
    Jar包依赖关系通过Class-Path指定以后就无须从命令行上进行指定了
    
    MANIFEST.MF 必须放在META-INF目录下
    #可执行程序打包 (依赖第三方包)
    
    cd ~/src/hello
    mkdir classes
    mkdir source
    mkdir lib
    mkdir META-INF
    
    cd source
    javac -d ../classes Hello.java -cp ..lib/Company.jar
    
    cd ../classes
    jar -cvfM Hello.jar Hello.class META-INF/MANIFEST.MF
    
    # 执行可执行程序
    java -jar Hello.jar Hello
  • 相关阅读:
    洛谷 P3850 [TJOI2007]书架
    洛谷 P2073 送花
    洛谷 P2343 宝石管理系统
    浅谈 fhq-treap(无旋treap)
    洛谷 P4568 [JLOI2011]飞行路线
    洛谷 T59576 下一个回文树(zhoutbafo)
    求SG函数(两种方法)
    python3+Appium自动化08-数据配置yaml
    python3+Appium自动化07-滑动操作以及滑动方法封装
    python3+Appium自动化06-屏幕截图
  • 原文地址:https://www.cnblogs.com/code-style/p/3832295.html
Copyright © 2020-2023  润新知