我试图从openjfx来源构建JFX场景构建器,但是我找不到有效的howto或清晰的文档,我已经阅读了非官方的openjfx指令对于场景构建器,但对于整个sdk,所以我已经安装了mercurial和gradle,但我有一些问题:
1)我可以只构建场景构建器而不构建整个SDK吗?
2)我已经尝试从apps / scenebuilder文件夹运行gradle它成功运行但在哪里可以找到生成的工件?我期待一个带有jar的目标文件夹,但没有生成任何内容。
3)我已经用Google搜索,发现应该可以从mercurial只下载场景构建器源,但我找不到任何有效的mercurial repo。
任何帮助都将受到高度赞赏,非常感谢。
答案 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)提取来源:
5)构建.jar:
mvn clean package
6)从SceneBuilder / target /目录运行它:
java -jar SceneBuilder<version-string>.jar