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
  • 相关阅读:
    关于C++名字空间
    选择组合OR继承?
    编译器为C++ 空类自动生成的成员函数
    函数返回值为引用类型
    关于数据库存储过程分页DatagridView BindingNavigator 控件的详细实现
    ADO.NET 安全编码指南 来自MSDN
    ADO.NET中调用存储过程
    视图
    高效使用连接的模式
    GROUP BY, HAVING, COMPUTE, ORDER BY 语句
  • 原文地址:https://www.cnblogs.com/code-style/p/3832295.html
Copyright © 2011-2022 走看看