我正在开发一个使用 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/