有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在Gradle项目中使用Apache Commons IO

我正在使用Gradle编写一个Java程序——一个普通的命令行程序,而不是Android或类似的程序——并试图包含Apache Commons IO。Perhttps://mvnrepository.com/artifact/commons-io/commons-io/2.6我最终得到了build.gradle这样的结果:

apply plugin: 'application'
apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    // https://mvnrepository.com/artifact/commons-io/commons-io
    compile group: 'commons-io', name: 'commons-io', version: '2.6'
}

mainClassName = 'Main'

Gradle似乎很高兴地下载了这个包,但是引用apachecommons的import语句得到了一个找不到的错误;即使我从命令行运行gradle build,忽略任何IDE,这也是正确的。我错过了什么?(之前类似的讨论是针对Android或Eclipse项目的;这些项目的说明在这里不起作用。)


共 (1) 个答案

  1. # 1 楼答案

    我认为你的Gradle脚本没有任何问题,所以乍一看,我想到了两种可能的解释:

    • 您导入了一个在工件中找不到的类(例如,以前版本的commons io不推荐它,现在他们删除了它)
    • 您的项目结构设置不正确

    我在版本中复制了你脚本的确切内容。gradle文件,在同一目录中创建了一个src/main/java目录结构,并编写了一个小型应用程序main。java在该目录下,包含以下内容:

    import org.apache.commons.io.IOCase;
    
    public class Main {
        public static void main(String[] args) {
            System.out.println(IOCase.SENSITIVE.checkEndsWith("abcd1234", "1234"));
        }
    }
    

    代码编译成功,所以我需要更多的上下文来解决您的问题