【发布时间】:2019-06-12 11:26:50
【问题描述】:
我正在开发一个简单的 JavaFX 程序,HelloFX。我执行诸如使用 ant 构建或启动之类的任务。我对此问题为零,它运行良好,因此代码和库在 build.xml 中很好地链接,正如您在代码中看到的那样。
但是,VSCode 没有找到 JavaFX 并说“无法解析导入 javafx”。所以我想知道 VSCode 如何找到 Java 依赖项?他怎么能像蚂蚁一样找到 JavaFX 呢?我以为 VSCode 是使用 build.xml 来查找依赖的,所以,也许我错了,或者我的 build.xml 不好。
提前感谢您的帮助!
<project name="HelloFX" basedir="." default="rebuild-run">
<property name="src.dir" value="src"/>
<property name="lib.dir" value="/home/rafael/javafx-sdk-12.0.1/lib"/>
<path id="classpath">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>
<property name="build.dir" value="bin"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/jar"/>
<property name="main-class" value="${ant.project.name}"/>
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac includeantruntime="false" srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath" modulepath="/home/rafael/javafx-sdk-12.0.1/lib">
<compilerarg line="--add-modules javafx.controls"/>
</javac>
</target>
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
</jar>
</target>
<target name="run" depends="jar">
<java fork="true" classname="${main-class}" modulepath="/home/rafael/javafx-sdk-12.0.1/lib" >
<jvmarg line="--add-modules javafx.controls"/>
<sysproperty key="java.library.path" path="$(lib.dir)"/>
<classpath>
<path refid="classpath"/>
<path location="${jar.dir}/${ant.project.name}.jar"/>
</classpath>
</java>
</target>
<target name="rebuild" depends="clean,jar"/>
<target name="rebuild-run" depends="clean,run"/>
【问题讨论】:
-
这会帮助你:JavaFX-11 with VSCode
-
@JoséPereda 我已经看过很多帖子,但没有一个能解决我的问题。这个正在使用 Eclipse .classpath 文件,我想将 build.xml 文件与 ant 一起使用。
标签: java javafx visual-studio-code ant