0

我是 eclipse + Java 的新手。我正在尝试使用 eclipse 导出选项创建可执行 jar 文件。它工作得很好。但在我的项目中,我有近 10 个包(我自己的)和 4 个主要类。我想创建一个可执行的 jar 文件,它可以执行 4 个主类中的任何一个主类。

例如:双击写入类名并运行该类

4

4 回答 4

3

不要使用可执行jar。而是创建一个包含已编译类的普通 jar。

从命令行,调用您想要调用的任何主类作为 java jar 命令的参数。

java -jar test.jar com.company.unit.MainClass1

java -jar test.jar com.company.unit.MainClass2
于 2010-08-25T23:41:11.503 回答
2

可执行的 JAR 不是这样工作的。他们在 JAR 中编写了一个清单文件,该文件声明了主类的位置,并运行该主类。您必须创建 4 个不同的 JAR。

或者,您可以只创建一个主类,让您键入您想要的四个中的哪一个,然后让它执行那个。基本上,您将自己模仿您正在寻找的功能。

于 2010-08-25T22:57:49.673 回答
1

只是一个如何处理命令行选项以启动不同事物的快速示例,我会将其放入对@serplat 答案的回复中,但我无法对其进行格式化。

public static void main(String[] args)
{
    if(args.length == 0) {
        // Do default here--no options specified
    } else if(args.length > 2) {
        // Complain that there are too many args, or implement multi-args
    } else // known just one arg
       if(args[1].equals("option1") {
           // call the main of your first app
       } else if(args[1].equals("option2") {
           // start your second app
      ...
   }
}

有更好的方法来处理命令行的东西,但这是可以理解的,应该做你需要的。稍后您可能会研究更灵活的东西。

于 2010-08-25T23:31:43.917 回答
1

我最近制作了一个教程,向您展示了如何创建一个可执行的 jar 文件,该文件将在 Windows、Mac OSX 和 Linux 中双击运行。对于我的项目,我打包了一个我制作的漂亮的图书馆游戏。希望能帮助到你。

http://aramk.com/blog/2010/12/05/how-to-make-a-multi-platform-executable-java-jar-file/

于 2010-12-30T03:31:16.487 回答