我正在开发一个使用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文件?
答案 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);
}
}