如何切换Maven osxappbundle-maven-plugin以使用AppBundlerTask

时间:2013-12-04 01:40:32

标签: maven ant app-bundle

我有一个Java Swing项目,我喜欢通过捆绑到App bundle来打包OSX。

我之前使用Maven osxappbundle-maven-plugin来实现这一目标。但是这些捆绑包不适用于Oracle的Java for Mac,我想切换使用Oracle的App Bundler。

看来Oracle的捆绑包仅作为Ant任务提供,我不知道如何将其转换为Maven命令。

我之前的pom.xml使用了以下内容:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>osxappbundle-maven-plugin</artifactId>
  <version>1.0-alpha-2</version>
  <configuration>
    <mainClass>${mainClass}</mainClass>
    <dictionaryFile>${basedir}/src/main/resources/Info.plist</dictionaryFile>
    <iconFile>${basedir}/src/main/resources/timelord.icns</iconFile>
    <javaApplicationStub>${basedir}/src/main/resources/JavaApplicationStub</javaApplicationStub>
    <jvmVersion>1.5+</jvmVersion>
  </configuration>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>bundle</goal>
      </goals>
    </execution>
  </executions>
</plugin>

我想我需要做这样的事情 - 但不确定格式。该如何格式化?或者是否已经构建了使用Oracle Bundler的Maven插件?

  <plugin>
    <artifactId>maven-antrun-plugin</artifactId>
     <version>1.3</version>
     <executions>
      <execution>
        <phase>package</phase>
        <configuration>
          <tasks>
            <bundleapp outputdirectory="dist"
              name="${AppName}"
              displayname="${AppDisplayName}"
              identifier="${mainClass}"
              mainclassname="${mainClass}">

              <runtime dir="${env.JAVA_HOME}" />
              <classpath file="NOT SURE HOW TO MAKE THIS" />
            </bundleapp>
          </tasks>
        </configuration>
      </execution>
     </executions>
  </plugin>

1 个答案:

答案 0 :(得分:2)

Java 7/8兼容的oracle bundler现在有一个maven plugin