java - 使用 Gradle 将 PDFBox 添加到 Android 应用程序时遇到问题?

标签 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.*;

我根据 gradle 文档和我在网上看到的其他 build.gradle 文件示例尝试了多种不同的方法来编辑 build.gradle 文件。基础build.gradle文件如下:

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

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

我尝试在多个位置添加 dependency{} 部分。 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'
}

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

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 文件顶部添加 applyplugin: 'java'applyplugin: 'eclipse' ,但这些修复的任何组合都不起作用。我已将 pdfbox-1.8.6.jar 文件复制/粘贴到项目的 libs 文件夹中,这似乎也没有帮助。有没有人可以帮助我将 pdfbox-1.8.6.jar 文件包含在我的 gradle 构建中?

最佳答案

我唯一一次收到您遇到的错误是当我删除“应用插件”行时。不管怎样,这是我有效的 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);
    }
}

关于java - 使用 Gradle 将 PDFBox 添加到 Android 应用程序时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25088381/

相关文章:

c - 将图书馆中的图书馆与外部人员联系起来?

java - Subclipse 每当使用命令行 svn 时都会删除它的钥匙串(keychain)访问

java - 从可执行 JAR 运行代码时无法加载资源

java - 运行从 springboot 项目打包的 jar 时无法获取 bean

java - Tomcat 上的 Websockets : how to shutdown the server cleanly?

java - JFileChooser .txt 扩展名

java - 按开始和结束时间过滤带日期的 ArrayList

java - 如何使用正则表达式解析键值

c - 没有找到二进制文件 Eclipse

java - 读取jar文件中的目录