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

标签 java eclipse ant swt javac

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

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

SWT 库位于 C:\my_work\Eclipse\3.6-64\plugins\。如下所示(在 javac 标记下,该类路径是这样指定的。

build.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_work\Eclipse\3.6-64\plugins\"/>
    </java>
</target>
<target name="compile">
    <javac includeantruntime="false" srcdir="./src" destdir="staging">
    <classpath path="C:\my_work\Eclipse\3.6-64\plugins\"></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_work\Eclipse\3.6-64\plugins\" 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。

您可以从 here 下载最新版本- 查看页面底部附近的“SWT 二进制文件和源代码”部分。

关于尽管类路径正确,Javac 仍找不到 SWT 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51120253/

相关文章:

java - 使用 JLayer 解码流式 mp3 数据时出现问题

java - 创建 JLabel 数组

java - 如何将图像放入ListView javafx中

eclipse - 在 eclipse 中使用 SVNAnt 构建失败(无法从资源加载定义)

java - Spring Hibernate Template 执行方法为 Oracle 上的计数查询返回什么对象类型?

java - 如何在 linux 中调试 java system.loadlibrary 错误?

android模拟器只在eclipse(ubuntu 11.10)中显示字符串 "android"

java - MyBatis 加载 XML : java. io.IOException: Could not find resource (eclipse)

java - 使用 Ant builder 运行所有单元测试

linux - 如何使用 ANT 任务在 Linux 中运行 LDAP 删除条目工具