【问题标题】:packaging and distributing java application with external Jar files使用外部 Jar 文件打包和分发 java 应用程序
【发布时间】:2013-11-14 07:51:47
【问题描述】:

到目前为止,我的 java 应用程序只包含我自己的 .java 文件。 但是,我当前的项目使用 Antlr,并且一些 Antlr 功能包含在一个 JAR 文件中,我必须将其导入到 eclipse 中。 分发我的应用程序以便最终用户可以运行它的最佳方式是什么?

我已经阅读了一些关于类似问题的堆栈溢出问题...一些答案建议将我的项目打包为 JAR 文件,而另一些则建议使用 Maven 等工具。 首先,我对 Maven 几乎一无所知,但从我所读到的内容来看,对于像这样的简单项目来说,这似乎有点矫枉过正。至于 JAR 文件,我知道它们是 .java 文件的集合,类似于 zip 档案。我遇到了两种 JAR 文件变体,称为“自解压 jar”和可执行 jar。他们之间有什么区别?我应该使用哪一个?

【问题讨论】:

    标签: java jar package


    【解决方案1】:

    Maven 与项目大小无关。 Maven 是独立的,您的最终用户不会知道您使用 Maven 打包了 JAR。 这种任务有几个插件。在说它矫枉过正之前先试一试。 Maven 还可以帮助您管理依赖项。如果你喜欢 Ant,还有一个插件可以运行 Ant 任务。

    有人推荐它,你问过自己为什么吗?每个伟大的工具,比如 Maven,都在解决一些(常见的)问题,这就是成功的原因。

    关于 JAR 的类型:你的 JAR 是必须安装还是直接双击运行?现在你知道你想要什么样的 JAR。

    【讨论】:

    • 我希望能够从命令行运行程序,一旦它被分发到客户端。
    • 魔法发生在 main 方法中。如果你想通过命令行执行它,你必须处理 main 方法的 args 参数。此时,您可以决定下一步做什么,启动一些 JFrame 或执行一些计算并编写输出或启动安装向导。 JAR 类型并不是什么特别的东西,它只是主要的方法内容。
    猜你喜欢
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多