如何从 openjfx 源构建场景生成器
How to build scene builder from openjfx sources
我正在尝试从 openjfx 源构建 JFX 场景生成器,但找不到有效的操作方法或清晰的文档,我已经阅读了官方的 openjfx 说明,该说明不是针对场景生成器的,而是针对整个 sdk,所以我安装了 mercurial 和 gradle 但我有一些问题:
1) 我可以只构建场景构建器而不构建整个 SDK 吗?
2) 我已尝试从 apps/scenebuilder 文件夹 运行 运行 gradle 成功 运行 但是在哪里可以找到生成的工件?我期待一个带有 jar 的目标文件夹,但没有生成任何东西。
3) 我用谷歌搜索了一下,发现应该可以只从 mercurial 下载场景生成器源代码,但我找不到任何有效的 mercurial 存储库。
非常感谢任何帮助,非常感谢。
从这里下载 Scene Builder 源代码:
https://bitbucket.org/gluon-oss/scenebuilder/downloads
在 e(fx)clipse 中创建一个新的 JavaFX 项目 "SceneBuilder".
从下载的源中复制 com 包(从子文件夹 "java" 和 "resources" 到 src 文件夹。
在 e(fx)clipse 中点击 File -> Export -> Java -> Runnable JAR with com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java 作为启动应用并创建一个可运行的 jar。
没有别的了。
如果你不想从 gluon 获取 SceneBuilder,你可以从这里获取:
http://hg.openjdk.java.net/openjfx/8u40/rt/file/eb264cdc5828/apps/scenebuilder
同样的步骤适用。只需将 SceneBuilderApp 和 SceneBuilderKit 的 src 文件夹的内容复制到一个新的 JavaFX 项目中,让它编译,创建一个可运行的 jar 并完成它。它完美无缺地工作。
好的,
事实证明,不需要从 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
显然要为您的安装自定义路径。
它可以使用 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
我正在尝试从 openjfx 源构建 JFX 场景生成器,但找不到有效的操作方法或清晰的文档,我已经阅读了官方的 openjfx 说明,该说明不是针对场景生成器的,而是针对整个 sdk,所以我安装了 mercurial 和 gradle 但我有一些问题:
1) 我可以只构建场景构建器而不构建整个 SDK 吗?
2) 我已尝试从 apps/scenebuilder 文件夹 运行 运行 gradle 成功 运行 但是在哪里可以找到生成的工件?我期待一个带有 jar 的目标文件夹,但没有生成任何东西。
3) 我用谷歌搜索了一下,发现应该可以只从 mercurial 下载场景生成器源代码,但我找不到任何有效的 mercurial 存储库。
非常感谢任何帮助,非常感谢。
从这里下载 Scene Builder 源代码:
https://bitbucket.org/gluon-oss/scenebuilder/downloads
在 e(fx)clipse 中创建一个新的 JavaFX 项目 "SceneBuilder".
从下载的源中复制 com 包(从子文件夹 "java" 和 "resources" 到 src 文件夹。
在 e(fx)clipse 中点击 File -> Export -> Java -> Runnable JAR with com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java 作为启动应用并创建一个可运行的 jar。
没有别的了。
如果你不想从 gluon 获取 SceneBuilder,你可以从这里获取:
http://hg.openjdk.java.net/openjfx/8u40/rt/file/eb264cdc5828/apps/scenebuilder
同样的步骤适用。只需将 SceneBuilderApp 和 SceneBuilderKit 的 src 文件夹的内容复制到一个新的 JavaFX 项目中,让它编译,创建一个可运行的 jar 并完成它。它完美无缺地工作。
好的,
事实证明,不需要从 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
显然要为您的安装自定义路径。
它可以使用 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