为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用多个jar文件?

如何使用多个jar文件?

智慧大石 2021-11-17 15:33:16
是否可以使用另一个 jar 中的类而不是主类?我的工作目录:.|-- Main.java|-- Makefile|-- Manifest`-- original    `-- Test.javaMain.java:public class Main {    public static void main (String[] args) {       Test.test();    }}Test.java:public class Test {    public static void test() {        System.out.println("This is a test");    }}Manifest:Main-Class: Main所以,我这样做:javac -source 1.6 -target 1.6 -classpath original/:./ Main.javajavac -source 1.6 -target 1.6 -classpath original/:./ original/Test.java它生成Main.class and original/Test.class 我可以用java -classpath original/:./ Main. 这就是我想要的。但现在我需要jar文件。如何正确地做到这一点?我试过:jar cfm Main.jar Manifest Main.classjar cfm original/Test.Jar Manifest original/Test.class但在这里我不知道如何Main正确运行我的。如果我做的:java -jar -classpath original/:./ Main。我得到了Error: unable to access jarfile Main。如果我做的:java -jar original/Test.jar Main.jar。我得到了Error: could not find or load main class Main。我被困在这里。
查看完整描述

3 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

这应该是一个点,您应该开始使用 Maven 或 Gradle 来构建您的应用程序。

这样,您可以在构建的 .jar 文件中包含外部库,而且您几乎不需要担心选择正确的 .jar 依赖项


查看完整回答
反对 回复 2021-11-17
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

我接下来运行:

  • 编译类 javac -source 1.6 -target 1.6 -classpath original/:./ original/Test.java javac -source 1.6 -target 1.6  Main.java

  • 创建罐子 jar cfe app.jar Main Main.class original/Test.class

  • 运行 jar java -jar app.jar输出:This is a test


查看完整回答
反对 回复 2021-11-17
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

好的,刚刚注意到,您的 Test.java 文件在原始文件夹中,因此您需要声明包原始;在顶部所以你的 Test.java 文件应该是这样的,


package original;


public class Test {


    public static void main(String args[]) {

        System.out.println("Hello Test");

    }

}

然后你需要通过以下命令编译 Main.java 和 original\Test.java,


javac Main.java original\Test.java

然后运行这个命令来创建你的 jar 文件,


jar cf main.jar Main.class original\Test.class

这将创建 main.jar 文件,然后您可以运行以下命令来运行 Main 或 Test 程序,


java -cp main.jar Main

或者


java -cp main.jar original.Test

如果您遇到任何问题,请告诉我。


查看完整回答
反对 回复 2021-11-17
  • 3 回答
  • 0 关注
  • 149 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信