【问题标题】:How do I build an OS X Java Application Bundle in IntelliJ IDEA?如何在 IntelliJ IDEA 中构建 OS X Java 应用程序包?
【发布时间】:2012-01-17 09:24:50
【问题描述】:

我正在尝试在 IntelliJ IDEA 中为 mac 构建 Java 应用程序。 Apple Developer 文档说我需要创建Java Application Bundle 以支持停靠图标、应用程序名称等内容,但我不确定如何设置构建配置以在 IntelliJ 中完成所有这些操作。任何人都可以对此有所了解吗?

【问题讨论】:

  • 应用程序。有图形用户界面吗?报告表明,JWS 为启动带来的一些功能(启动画面、菜单项、桌面快捷方式、应用程序标题/名称)也适用于 OS X。(JWS 也适用于 Windows 和 *nix ;)跨度>

标签: java macos intellij-idea


【解决方案1】:

我是这样写的(MacOS 10.10 + IntelliJ IDEA 15 + JDK 1.8):

  1. 下载 Oracle Java Application Bundler 并将其复制到项目的 /lib 目录中。
  2. 文件项目结构工件添加(+)JAR → From modules With Dependecies... → 选择 Main class → OK.
  3. BuildBuild Artifacts... → 在 /out/artifacts/... 中生成 jar
  4. 在项目的根目录下创建 build.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project name="Test" default="bundle-test" basedir=".">
        <taskdef name="bundleapp" 
            classname="com.oracle.appbundler.AppBundlerTask" 
            classpath="lib/appbundler-1.0.jar" />    
        <target name="bundle-test">
            <bundleapp outputdirectory="out"
                name="Test"
                displayname="Test"
                identifier="Test"
                mainclassname="Main">
                <classpath file="out/artifacts/test_jar/test.jar" />
            </bundleapp>
        </target>
    </project>
    
  5. 在 Ant Build 面板(ViewTool WindowsAnt Build)点击 Add (+)并选择您的 build.xml 并按 Run 按钮。
  6. 在您项目的 /out 目录中找到您的应用。

【讨论】:

    【解决方案2】:

    IntelliJ IDEA 不支持创建此类捆绑包。您可以使用 Ant 或一些外部工具来自动执行此过程。

    【讨论】:

    【解决方案3】:

    【讨论】:

    • 请尝试至少概括您链接到的内容的一般要点。一旦链接失效,您的答案将几乎毫无用处。
    【解决方案4】:

    您可以使用 maven 插件并将其打包为 OS X 的 *.app。我使用此插件,它似乎是具有最新支持的插件。您可以参考此存储库以获取更多信息https://github.com/federkasten/appbundle-maven-plugin

            <plugin>
              <groupId>sh.tak.appbundler</groupId>
              <artifactId>appbundle-maven-plugin</artifactId>
              <version>1.0.2</version>
            </plugin>
    

    您可以指定图标、主类和名称。另一方面,Apple 的扩展也可能有助于自定义您的应用程序。

        <dependency>
            <groupId>com.apple</groupId>
            <artifactId>AppleJavaExtensions</artifactId>
            <version>1.6</version>
        </dependency>
    

    除了这个 maven 解决方案之外,Oracle 还提供了一个 Java Application Bundler,它支持其他 Java 运行时(包括 Java 7、8 等)。这是官方捆绑器的一个分支,它具有更多功能。 https://bitbucket.org/infinitekind/appbundler

    【讨论】:

      【解决方案5】:

      也许这不是您希望的答案,但我认为 ide-build 在开发过程中是好的,但应该始终有一个独立于平台(ide、os 等)的发布方式。我更喜欢ant,可以和Idea完美结合。 Ant 本身 - 据我所知 - 不支持 mac os 应用程序包,但这是我在互联网上找到的扩展程序的 one example

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-05
        • 2021-01-21
        • 1970-01-01
        • 2018-03-03
        • 2017-05-14
        • 2010-10-03
        • 1970-01-01
        • 2014-07-17
        相关资源
        最近更新 更多