Javac 找不到 SWT 库,尽管类路径正确



我有一个使用SWT并且可以完美编译/运行的Java项目。

但是,当我尝试通过 Ant 进行编译时,尽管进行了构建.xml但 javac 仍找不到 SWT 库,并指定了正确的类路径。

SWT 图书馆位于C:my_workEclipse3.6-64plugins。 如下所示(在javac标记下,此类路径是这样指定的。

构建.xml

<?xml version="1.0" encoding="UTF-8"?>
<project default="run" name="My Project">
<target name="run" depends="compile">
<java classname="com.company.program.project">
<classpath path="staging" location="C:my_workEclipse3.6-64plugins"/>
</java>
</target>
<target name="compile">
<javac includeantruntime="false" srcdir="./src" destdir="staging">
<classpath path="C:my_workEclipse3.6-64plugins"></classpath>
</javac>
</target>
<jar destfile="./build/jars/swtgui.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="org.swtgui.MainGui" />
<attribute name="Class-Path" value="." />
</manifest>
<fileset dir="./bin/com/company/program/project" includes="**/*.class" />
<fileset dir="C:my_workEclipse3.6-64plugins" includes="org.eclipse.swt.win32.win32.x86_64_3.6.0.v3650b.jar" />
</jar>
<record name="./MyProject.log" loglevel="verbose" action="start"/>

上面给了我导入语句的错误,如下所示:

error: package org.eclipse.swt does not exist
import org.eclipse.swt.SWT;
^

为什么 javac 在正确指定类路径时找不到 SWT 库?

另外,我如何找出javac在哪里寻找? 日志 - 即使在详细模式下 - 也没有告诉我javac试图在哪里找到这些导入语句。

SWT为独立的Java应用程序提供了一个单独的Jar。

您可以从这里下载最新的 - 查看页面底部附近的"SWT 二进制文件和源代码"部分。

似乎<classpath path="C:my_workEclipse3.6-64plugins"></classpath>没有添加依赖项来编译类路径

这种方式对我有用:

<target name="compile">
<javac includeantruntime="false" srcdir="./src" destdir="staging">
<classpath>
<fileset dir="C:my_workEclipse3.6-64plugins">
<!-- <include name="**/*.jar" /> -->
<include name="org.eclipse.swt.*.jar" />
</fileset>
</classpath>
</javac>
</target>

最新更新