zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    每日思考(2020/07/13)
    每日思考(2020/07/12)
    每日思考(2020/07/11)
    每日思考(2020/07/10)
    每日思考(2020/07/09)
    每日思考(2020/05/12)
    Apache服务器的下载与安装
    知问前端——验证插件(二)
    知问前端——验证插件(一)
    知问前端——日历UI(三)
  • 原文地址:https://www.cnblogs.com/code-style/p/3832295.html
Copyright © 2011-2022 走看看