如何从openjfx源构建场景构建器

时间:2015-03-25 14:39:02

标签: java javafx scenebuilder

我试图从openjfx来源构建JFX场景构建器,但是我找不到有效的howto或清晰的文档,我已经阅读了非官方的openjfx指令对于场景构建器,但对于整个sdk,所以我已经安装了mercurial和gradle,但我有一些问题:

1)我可以只构建场景构建器而不构建整个SDK吗?

2)我已经尝试从apps / scenebuilder文件夹运行gradle它成功运行但在哪里可以找到生成的工件?我期待一个带有jar的目标文件夹,但没有生成任何内容。

3)我已经用Google搜索,发现应该可以从mercurial只下载场景构建器源,但我找不到任何有效的mercurial repo。

任何帮助都将受到高度赞赏,非常感谢。

3 个答案:

答案 0 :(得分:5)

从这里下载Scene Builder来源:

https://bitbucket.org/gluon-oss/scenebuilder/downloads

在e(fx)clipse中创建一个新的JavaFX项目“SceneBuilder”。

从下载的源代码中复制com包(从子文件夹“java”和“resources”到src文件夹。

在e(fx)剪辑中,单击文件 - >出口 - > Java - >使用com / oracle / javafx / scenebuilder / app / SceneBuilderApp.java作为启动应用运行Runnable JAR并创建一个可运行的jar。

没有别的了。


如果你不想从胶子那里得到SceneBuilder,你可以从这里得到它:

http://hg.openjdk.java.net/openjfx/8u40/rt/file/eb264cdc5828/apps/scenebuilder

同样的步骤适用。只需将SceneBuilderApp和SceneBuilderKit的src文件夹的内容复制到一个新的JavaFX项目中,让它编译,创建一个可运行的jar并完成它。它毫无问题地完美无缺。

答案 1 :(得分:4)

好的,

事实证明,没有必要从openjfx构建整个SDK来构建场景构建器应用程序我已经解决了这个问题:

1) Installed latest ant from apache official site

2) Gone into the apps/scenebuilder folder

3) Run ant -Dplatforms.JDK_1.8.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/ jar

这对我有用,构建的结果是在" dist"文件夹和运行刚刚构建的场景构建器我必须使用

/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home//bin/java -cp /Users/fabiofrumento/openjfx/apps/scenebuilder/SceneBuilderKit/dist/SceneBuilderKit.jar:/Users/fabiofrumento/openjfx/apps/scenebuilder/SceneBuilderApp/dist/SceneBuilderApp.jar com.oracle.javafx.scenebuilder.app.SceneBuilderApp

显然,这些路径是为您安装而定制的。

答案 2 :(得分:1)

可以使用maven从源代码构建它。

1)下载来源:http://hg.openjdk.java.net/openjfx/8u60/rt/

2)创建一个maven项目&文件夹:

mvn archetype:generate -DartifactId=SceneBuilder -Dpackage=com.oracle.javafx.scenebuilder.app -DgroupId=com.oracle

3)在新创建的目录中编辑pom.xml文件:

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>

 <build>

 <resources>
   <resource>
     <directory>src/main/java</directory>
      <excludes>
        <exclude>**/*.java</exclude>
      </excludes>
   </resource>
 </resources>

  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>3.0.2</version>
      <configuration>
        <archive>
          <manifest>
            <mainClass>com.oracle.javafx.scenebuilder.app.SceneBuilderApp</mainClass>
          </manifest>
        </archive>
      </configuration>
    </plugin>
  </plugins>

 </build>

4)提取来源:

  • SceneBuilderApp / src / com /和SceneBuilderKit / src / com /都覆盖了SceneBuilder / src / main / java / com /
  • 结果应该是SceneBuilder / src / main / java / com / oracle / javafx / scenebuilder / {app,kit}中的文件

5)构建.jar:

mvn clean package

6)从SceneBuilder / target /目录运行它:

java -jar SceneBuilder<version-string>.jar