【问题标题】:Create a jar file of Java source file [duplicate]创建Java源文件的jar文件[重复]
【发布时间】:2013-05-02 15:36:11
【问题描述】:

如何创建Java源文件的jar文件?

我有一个名为CreateJar 的类,它有函数Calculate which 计算两个整数的加法。我在 另一个名为UseFunction 的类,但我想创建一个 jar 文件 CreateJar 类并希望将其导入 UseFunction 类。我用谷歌搜索 为它,但没有得到任何解决方案。

以下是我的课程:

创建罐子

package com.dir;

public class CreateJar {

    public int Calculate(int x,int y)
    {
        int z =x+y;
        return z;
    }
}

使用函数

package com.dir;

public class UseFunction {
    CreateJar jar = new CreateJar();

    public UseFunction()
    {
        System.out.println(jar.Calculate(5, 6));
    }

    public static void main(String args[])
    {
        new UseFunction();
    }
}

【问题讨论】:

标签: java jar


【解决方案1】:

1.创建一个名为CreateJar.java的文件

package com.dir;

public class CreateJar {
    public int Calculate(int x,int y)
    {
        int z =x+y;         
        return z;
    }    
}

2.创建一个名为UseFunction.java的文件:

package com.dir;

//import com.dir.CreateJar;

public class UseFunction {
    CreateJar jar = new CreateJar();
    public UseFunction()
    {
        System.out.println(jar.Calculate(5, 6));
    }

    public static void main(String args[])
    {
        new UseFunction();
    }

}

3.编译第一个文件:

javac CreateJar.java

编译后的结果将是“CreateJar.class”

4.为包“com.dir”创建目录结构。为此,只需在“com”中创建一个目录“com”和另一个目录“dir”。

5.复制或移动“CreateJar.class”到com/dir

6.用Jar打包:

jar -cf myLib.jar com\dir\CreateJar.class

7.引用dir.jar编译“UseFunction.java”:

javac -cp myLib.jar UseFunction.java
or
javac -classpath myLib.jar UseFunction.java

8.注意:如果您的 UseFunction.java 与引用的类(CreateJar)不在同一个包(com.dir)中。那么您可能需要在 UseFunction.java 中添加这一行。

import com.dir.CreateJar;

【讨论】:

    【解决方案2】:

    创建JAR文件的命令基本格式为:

    jar cf jar-file input-file(s)
    

    此命令中使用的选项和参数是:

    • c 选项表示您要创建 JAR 文件。
    • f 选项表示您希望输出到文件而不是标准输出。
    • jar-file 是您希望生成的 JAR 文件具有的名称。您可以为 JAR 文件使用任何文件名。按照惯例,JAR 文件名的扩展名为.jar,但这不是必需的。
    • input-file(s) 参数是以空格分隔的一个或多个要包含在 JAR 文件中的文件的列表。 input-file(s) 参数可以包含通配符 * 符号。如果任何“输入文件”是目录,则这些目录的内容会递归地添加到 JAR 存档中。

    cf 选项可以按任意顺序出现,但它们之间不能有任何空格。

    更多详情请访问here

    【讨论】:

      【解决方案3】:

      使用这个命令:

      jar cf jar-file input-file(s)
      

      试试这个链接:http://docs.oracle.com/javase/tutorial/deployment/jar/build.html

      【讨论】: