【问题标题】:Using Apache Commons IO in a Gradle project在 Gradle 项目中使用 Apache Commons IO
【发布时间】:2018-06-23 12:24:31
【问题描述】:

我正在编写一个 Java 程序——一个普通的命令行程序,而不是 Android 或类似的程序——使用 Gradle,并尝试包含 Apache Commons IO。根据https://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 似乎很高兴地下载了包,但是引用 apache 或 commons 的 import 语句得到一个 not found 错误;即使我从命令行运行 gradle build 时也是如此,省略了任何 IDE。我错过了什么? (之前的类似讨论是针对 Android 或 Eclipse 项目的;这些说明在这里没有用。)

【问题讨论】:

    标签: java apache gradle


    【解决方案1】:

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

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

    我将您脚本的确切内容复制到一个 build.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"));
        }
    }
    

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

    【讨论】:

    • 试过你的测试用例,它工作,回到我的项目,它工作,所以我不知道以前出了什么问题,也许有些东西没有保存/更新?但现在可以了,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 2012-04-07
    • 2013-07-27
    • 2013-01-04
    • 2013-06-25
    • 1970-01-01
    相关资源
    最近更新 更多