Java 使用.jar文件中的类

Java 使用.jar文件中的类,java,file-io,jar,Java,File Io,Jar,我试图使用来自commons-io-2.4.jar文件的classFileUtils.class。代码如下:- package Lynda.Essential_training; import java.io.*; //import Lynda.Essential_training.org.apache.commons.io.*; public class fileHandlingCommons { public static void main(String[] args) thro

我试图使用来自
commons-io-2.4.jar
文件的class
FileUtils.class
。代码如下:-

package Lynda.Essential_training;
import java.io.*;
//import Lynda.Essential_training.org.apache.commons.io.*;

public class fileHandlingCommons
{
    public static void main(String[] args) throws Exception
    {
        File f1 = new File("/home/kusur/java_programs/source.txt");
        File f2 = new File("target2.txt");

        FileUtils.copyFile(f1,f2);
    }
}
当我编译此程序时,使用以下命令:-

javac -cp /usr/sys/java_programs/Lynda/Essential_training/Commons-io-2.4.jar Lynda/Essential_training/fileHandlingCommons.java
我得到以下错误:-

Lynda/Essential_training/fileHandlingCommons.java:12: error: cannot find symbol
        FileUtils.copyFile(f1,f2);
        ^
  symbol:   variable FileUtils
  location: class fileHandlingCommons
当我从
.jar
文件夹中提取所有文件,然后编译程序(在这种情况下,使用程序中的注释导入语句)时,我会遇到相同的错误


您能帮忙吗?

看起来您包含
FileUtils
的导入语句被注释掉了(
org.apache.commons.io.*
)。。取消注释,重新编译并重试:

package Lynda.Essential_training;
import java.io.*;
import org.apache.commons.io.*; //<-- the problem

public class fileHandlingCommons
{
    public static void main(String[] args) throws Exception
    {
        File f1 = new File("/home/kusur/java_programs/source.txt");
        File f2 = new File("target2.txt");

        FileUtils.copyFile(f1,f2);
    }
}
包Lynda.Essential\u培训;
导入java.io.*;

导入org.apache.commons.io.*// 查看您的代码,我假设FileUtils位于您尚未在代码中导入的某个包之下


你能导入那个特定的类并编译吗?

你试过导入org.apache.commons.io.FileUtils吗?导入路径中不包括包的位置,它是从jar内部派生的。错误仍然存在。即使我已经将
FileUtils.class
添加到包名中。错误表明,
package org.apache.commons.io不存在
commons-io.jar文件是否位于您指定的类路径位置?是的,我也在类路径中提供了.jar文件。但是,当我解压缩整个文件夹时,有必要吗?您解压缩了jar文件吗?如果没有正确匹配,这将导致包名与文件夹结构匹配出现一些问题。