无法使用Gradle将PDFBox添加到Android应用程序?

时间:2014-08-01 20:44:18

标签: java eclipse jar gradle pdfbox

我正在开发一个使用Gradle进行组装和构建的项目(虽然我已经使用eclipse编写代码),并且在使用Apache的PDFBox时遇到了麻烦。我已将类路径设置为PDFBox .jar,在cmd中键入echo %CLASSPATH%返回:

C:\Users\MY_NAME\.m2\repository\org\apache\pdfbox\pdfbox\1.8.6\pdfbox-1.8.6.jar

我之前正在对此进行研究,有人说您需要使用.;启动类路径,这对我解决问题的任何尝试都没有影响。无论如何,当我尝试用gradlew.bat包装器编译程序时,我得到了这些错误:

error: package org.apache.pdfbox.pdmodel does not exist
error: package org.apache.pdfbox.util does not exist

这些错误引用的行位于我的.java文件的最顶层,只是:

import org.apache.pdfbox.pdmodel.*;
import org.apache.pdfbox.util.*;

我尝试了多种不同的编辑build.gradle文件的方法,这些方法基于gradle文档和我在网上看到的build.gradle文件的其他示例。基本build.gradle文件如下:

allprojects {
    repositories {
        mavenCentral()
        maven {
            url "https://nexus.spritzinc.com/content/repositories/PublicReleases"
        }
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.11'
}

我尝试在多个地方添加dependencies{}部分。 build.gradle文件如下所示:

allprojects {
    repositories {
        mavenCentral()
        maven {
            url "https://nexus.spritzinc.com/content/repositories/PublicReleases"
        }
    }
}
dependencies {
    compile 'org.apache.pdfbox:pdfbox:1.8.6'
}
task wrapper(type: Wrapper) {
    gradleVersion = '1.11'
}

编译得很好,但给了我上面描述的相同的包含错误。将dependencies{}的内容放在repositories{} allprojects{}后面,我发现了以下错误:

Could not find method compile() for arguments [org.apache.pdfbox:pdfbox:1.8.6] on org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@7051777c.

我还尝试在build.gradle文件的顶部添加apply plugin: 'java'apply plugin: 'eclipse',但这些修补程序中没有任何组合可以正常工作。我已将pdfbox-1.8.6.jar文件复制/粘贴到项目的libs文件夹中,这似乎也没有帮助它。有没有人可以帮助我在我的gradle构建中包含pdfbox-1.8.6.jar文件?

1 个答案:

答案 0 :(得分:1)

我收到错误的唯一一次是我删除了“apply plugin”行。无论如何,这是我的gradle脚本:

apply plugin: 'java'

sourceCompatibility = '1.7'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

if (!hasProperty('mainClass')) {
    ext.mainClass = 'org.tilman.HelloWorld'
}

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.10'

    compile 'org.apache.pdfbox:pdfbox:1.8.6'
}

这是我的java程序:

package org.tilman;

import org.apache.pdfbox.pdmodel.PDDocument;

public class HelloWorld
{
    public static void main(String[] args)
    {
        PDDocument doc = new PDDocument();
        System.out.println("Hello world: " + doc);
    }
}