首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PDFBox 2.0.4从其站点下载和从Maven2.0.4下载时具有不同的JAR文件

PDFBox 2.0.4 是 Apache PDFBox 项目的一个版本,它是一个用于处理 PDF 文档的 Java 库。当你从官方网站下载 PDFBox 2.0.4 和从 Maven 仓库下载时,可能会遇到 JAR 文件不同的情况。这通常是由于以下几个原因造成的:

1. 官方网站下载

当你从 PDFBox 的官方网站下载 PDFBox 2.0.4 时,你通常会得到一个包含了所有必要组件的 "fat" JAR 文件,也被称为 "uber-jar" 或 "shadow-jar"。这种 JAR 文件包含了 PDFBox 库本身以及它所依赖的所有第三方库。这样的 JAR 文件方便在没有构建工具的情况下直接使用。

2. Maven 仓库下载

Maven 仓库中的 JAR 文件通常是 "thin" JAR 文件,只包含 PDFBox 库本身的代码,而不包含其依赖项。这是因为 Maven 的设计理念是将依赖管理交给 Maven 本身,而不是将所有东西打包到一个 JAR 文件中。当你在 Maven 项目中声明对 PDFBox 2.0.4 的依赖时,Maven 会自动下载 PDFBox 库以及其所有列在 pom.xml 文件中的依赖项。

3. 差异原因

  • 依赖项:官方下载的 "fat" JAR 包含了所有依赖,而 Maven 下载的 "thin" JAR 只包含核心库。
  • 构建工具:官方下载可能使用了特定的构建工具(如 Maven 或 Gradle)和插件(如 Shadow 插件)来创建包含所有依赖的 JAR 文件。
  • 发布流程:官方发布的 JAR 文件可能经过了额外的处理步骤,比如添加了签名、文档或其他元数据。

解决方案

  • 如果你想要一个包含所有依赖的 JAR 文件,可以从官方网站下载 "fat" JAR,或者在 Maven 项目中使用 Shadow 插件来创建一个类似的 JAR 文件。
  • 如果你使用 Maven 或 Gradle 作为构建工具,最好让这些工具来管理依赖和构建过程,这样可以确保所有的依赖项都被正确地包含和版本控制。

示例:使用 Maven 和 Shadow 插件创建 "fat" JAR

在你的 pom.xml 文件中添加 Shadow 插件:

代码语言:javascript
复制
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.2.4</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>org.apache.pdfbox.PDFBox</mainClass>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

然后运行 mvn clean package 来构建项目,这将生成一个包含了所有依赖的 "fat" JAR 文件。

总之,从不同来源下载的 JAR 文件可能会有所不同,这主要是因为它们包含了不同程度的依赖项和其他可能的构建产物。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PDF转Word完全指南:3大方法满足各种场景!

所谓PDF转Word就是指PDF格式文档中提取文字、图形及其它内容并放入Word或者其他格式文档中(也可以是其他文件格式,如Excel/PPT/HTML/IMAGE等),无需重新排版,支持图文混合排版...第二步:上传PDF文件通过选择文件或者将PDf文件拖拽到上述区域(支持doc或者docx格式word文件)可以上传1个或者多个PDF文件?第三步点击转换为Word按钮?第四步下载?...技术派:三方类库或者API实现PDF转Word技术派PDF处理就是用第三方类库或者OpenAPI,对pdf进行处理,一般是需要批量自动处理PDF文件,通过类库API就能大量减少时间。...目前PDF处理类库较多,我们选择几个有代表来说下。开源类库pdfbox Java类库PDFBox是一个BSD许可下源码开放项目,为开发人员读取创建PDF文档而准备纯Java类库。...iText安装非常方便,下载iText.jar文件后,只需要在系统CLASSPATH中加入iText.jar路径,在程序中就可以使用iText类库了。

4.4K40
  • PDF文档自动化测试

    虽然流程上,在新合同引入时我们可以将合同确认工作交给上游产品或商务同学,但人为地比对仍无法保证内容正确性,且工作内容上也带来了较多重复。 ?...,原有多产品线合同/签章需要回归测试,验证与基线代码下合同内容一致 2.2、设计思路: 场景一:最直接方案是引入外部jar包,如PDFBox( https://pdfbox.apache.org/...PDFBox是Apache下一个开源项目,我们可以通过 PDFBox读取、创建PDF文档,加密/解密PDF文档,PDFXFDF格式中导入或导出表单数据 等,实现代码如下: private static...小编以前写爬虫最常用Java HTML解析器就是Jsoup(http://www.open-open.com/jsoup/)。...步骤一:移动下载PDF至指定目录 File downloadedPDF = new File("C:\\Users\\Tests\\Downloads\\" + contract+ ".pdf"

    1.8K20

    maven 学习总结

    4、安装maven2 安装Maven2步骤非常简单:首先从Maven官方网站http://maven.apache.org/下载相应软件包,目前是Maven 2.0.4;然后解压,并设置环境变量M2...–mvn test:运行应用程序中单元测试 –mvn package:依据项目生成jar文件,以备依赖此项目使用 –mvn install:将项目的jar文件添加到库中, –mvn site:生成项目相关信息网站...改变Maven存储库路径只需简单地编辑安装目录下 conf文件夹下面的settings.xml文件即可 在Maven中使用依赖是简单。让我们看看往上述pom.xml文件中添加一个依赖项情况。...首先我们必须Sun站点下载jar包,接着我们使用Maven将它导入本地存储库中。您自己也可以按照 Maven上传资源指南中指导将缺少jar包安装到Ibiblio中。...,这些报表是在当你使用mvn site命令生成项目的站点产生

    1.7K50

    操作 PDF 文件常用JAR

    虽然该版本iText不再开发,但是使用该版本iText JAR已经可以满足项目的80% ~90%需求,主要需要引入itextpdf-x.x.x.jar itext-asian-x.x.x.jar...iText 7 与iText 5是两个不同体系。 官网 https://kb.itextpdf.com/home/it7kb ?...因为之前小编在做电子处方笺,对比使用了 iText Apache PDFBox(接下来要介绍一款JAR包)。...0x03:Apache PDFBox Apache PDFBox库是用于处理PDF文档开源Java工具。该项目允许创建新PDF文档,操纵现有文档以及文档中提取内容功能。...仓库 https://gitee.com/xsxgit/x-easypdf 总结:操作PDFJAR主要分成两类,分别是iText系列Apache PDFBox系列,在之前项目中使用PDF操作工具遇到不少

    2.5K20

    java中maven_maven创建web项目

    ],我选择是截至目前最新版本maven2.0.4版本2、设置环境变量:Maven2下载完后,我将其解压到我计算机d:\maven204下,目录结构如下:D:\|–Maven204|– bin|–...指令执行完毕后,发现多了两个文件:.classpath.project 五、下载maveneclipse插件1、打开eclipse2、打开菜单 help -Software updates-Find...Maven已经非常智能,使用maveneclipse插件向导,只要输入参数就可以将配置文件生成出来。我们例子是用jdbc方式访问oracle数据库。所以需要jdbcoracle架包支持。...比如我在安装hibernate架包告诉我jta无法下载。...| `– 14| `– ojdbc-14.jar如果你手头jar文件名叫ojdbc14.jar,则改为ojdbc-14.jar,写配置文件: xml 代码 ojdbc ojdbc 14 那么现在一个完整

    51820

    java项目管理工具maven使用初级

    ://maven.apache.org/download.html ,我选择是截至目前最新版本maven2.0.4版本 2、设置环境变量:Maven2下载完后,我将其解压到我计算机d:/maven204...eclipse 指令执行完毕后,发现多了两个文件:.classpath.project 五、下载maveneclipse插件 1、打开eclipse 2、打开菜单 help -Software updates-Find...比如我在安装hibernate架包告诉我jta无法下载。...不过注意先建目录后写配置文件,否则一旦保存,智能插件就马上开始下载了… 现在开始手动建立oraclejdbc目录并配置文件,首先建立目录结构如下: Repository `-- ojdbc |--...ojdbc | `-- 14 | `-- ojdbc-14.jar 如果你手头jar文件名叫ojdbc14.jar,则改为ojdbc-14.jar,写配置文件: <

    1.3K91

    菜鸟级入门学习maven使用,很实用入门教程

    ],我选择是截至目前最新版本maven2.0.4版本 2、设置环境变量:Maven2下载完后,我将其解压到我计算机d:\maven204下,目录结构如下: D:\ |–Maven204 |...:eclipse 指令执行完毕后,发现多了两个文件:.classpath.project 五、下载maveneclipse插件 1、打开eclipse 2、打开菜单 help -Software...Maven已经非常智能,使用maveneclipse插件向导,只要输入参数就可以将配置文件生成出来。我们例子是用jdbc方式访问oracle数据库。所以需要jdbcoracle架包支持。...比如我在安装hibernate架包告诉我jta无法下载。...– ojdbc | `– 14 | `– ojdbc-14.jar 如果你手头jar文件名叫ojdbc14.jar,则改为ojdbc-14.jar,写配置文件: xml 代码 <dependency

    35430

    java 利用 pdfbox 实现PDF转为图片

    这个是我之前在上海做发票业务工单,记录一下。当时需求是要将发票pdf转化为图片展示,并支持长按图片进行保存。...1.引用jar包 org.apache.pdfbox pdfbox...: * 1.如何解决 Linux 环境下乱码问题:重写 UnixFontDirFinder 类,修改 Linux 环境下获取字体文件路径,改为取项目里字体文件(使用 pdfbox 转图片时方法...想想还是研究研究 pdfbox 源码吧,分析后发现它是根据不同系统来读取字体文件,然后一个同事建议我重写读写 Linux 系统文件类,指向我们项目的文件夹,然后在项目新建一个文件夹来存放需要字体...需要注意是,后面如果pdf有用到新字体,就需要将对应字体下载下来,放到该目录下。

    3.7K10

    maven详细教程_maven安装与配置

    ],我选择是截至目前最新版本maven2.0.4版本 2、设置环境变量:Maven2下载完后,我将其解压到我计算机d:\maven204下,目录结构如下: D:\ |–Maven204 |...:eclipse 指令执行完毕后,发现多了两个文件:.classpath.project 五、下载maveneclipse插件 1、打开eclipse 2、打开菜单 help -Software... 注意:有关这个文件作用各节点作用不是本文描述重点,可以到maven官方网站查阅[url]http://maven.apache.org/[/url]目前为止,所有的准备工作都已经就绪...比如我在安装hibernate架包告诉我jta无法下载。...| `– 14 | `– ojdbc-14.jar 如果你手头jar文件名叫ojdbc14.jar,则改为ojdbc-14.jar,写配置文件: xml 代码 1.

    52810

    java 打印pdf_java打印pdf文件

    Apache PDFbox是一个开源、基于Java、支持PDF文档生成工具库,它可以用于创建新PDF文档,修改现有的PDF文档,还可以PDF文档中提取所需内容。...具体实现如下: ①下载jacob.zip ,对应(86/64)dll文件放在%Java_Home%jre/bin目录下。...下载地址:https://sourceforge.net/projects/jacob-project/ ②导入jacob.jar到工程中 在工程中创建lib文件夹保存jacob.jar:reseources—lib—jacob.jar...②打印pdf文件,使用是上面讲述pdfbox插件,所以也需要引入pdfbox依赖 org.apache.pdfbox</groupId...三、总结 至此,本次实现JPG、PDFWord三种文件格式打印已经全部实现,分别采用了原生打印PDFbox插件jacob插件进行实现。

    5.3K20

    Flink入门(三)——环境与部署

    flink是一款开源大数据流式处理框架,他可以同时批处理流处理,具有容错性、高吞吐、低延迟等优势,本文简述flink在windowslinux中安装步骤,示例程序运行,包括本地调试环境,集群环境...命令执行后,你将 找到一个JAR文件,里面包含了你应用程序,以及已作为依赖项添加到应用程序连接器库:target/-.jar。...这样,Flink 可以 JAR 文件运行应用程序,而无需另外指定主类。 Gradle 环境要求 唯一要求是使用 Gradle 3.x (或更高版本) 安装 Java 8.x 。...命令执行后,你将 找到一个 JAR 文件,里面包含了你应用程序,以及已作为依赖项添加到应用程序连接器库:build/libs/--all.jar。...这样,Flink 可以 JAR 文件运行应用程序,而无需另外指定主类。

    2.3K10

    win20002003下整合IIS+Tomcat5支持jsp

    3、在IIS中把JSP相关请求发送到Tomcat需要Tomcat Connector支持,去apache网站下载JK2.JK2负责IISTomcat通讯,下载地址: http://archive.apache.org.../dist/tomcat/tomcat-connectors/jk2/binaries/win32/ 下载:jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip...8009换成你自己IP端口: worker=status:status 使用前请先修改文件file=D:/Tomcat5/logs/jk2.log这一行,改成你需要路径,copy地址栏路径请注意...Web站点”),在其上点右键选“属性”,在弹出页框里选择“ISAPI筛选器”,点“添加”,筛选器名称填jakarta,可执行文件中填入你isapi_redirector2.dll绝对路径(就是第3...IIS指向目录最好Tomcat指向目录一致,不然会发生找不到图像其他资源文件问题。

    51140

    spring4.1.8扩展实战之一:自定义环境变量验证

    在之前学习spring环境初始化源码过程中,见到有些地方能通过子类来实现自定义扩展,本章开始,我们来逐个实践这些扩展,除了加深对spring理解,有的扩展也能解决一些通用问题; 文中涉及spring...,会集合requiredProperties中取出所有key,然后获取这些key环境变量(包括系统环境变量进程环境变量),如果有一个key对应环境变量为空,就会抛出异常,导致spring容器初始化失败...-0.0.1-SNAPSHOT.jar; 实战源码下载 本章实战源码可以在github下载,地址链接信息如下表所示: 名称链接备注项目主页https://github.com/zq2599/blog_demos...@github.com:zq2599/blog_demos.git该项目源码仓库地址,ssh协议 这个git项目中有多个文件夹,本章源码在文件夹customizepropertyverify下,如下图红框所示...) ~[spring-boot-2.0.4.RELEASE.jar!

    47510

    快速构建第一个Flink工程

    构建工具 Flink项目可以使用不同构建工具进行构建。为了能够快速入门,Flink 为以下构建工具提供了项目模版: Maven Gradle 这些模版可以帮助你搭建项目结构并创建初始构建文件。...命令执行后,你将 找到一个JAR文件,里面包含了你应用程序,以及已作为依赖项添加到应用程序连接器库:target/-.jar。...这样,Flink 可以 JAR 文件运行应用程序,而无需另外指定主类。 Gradle 环境要求 唯一要求是使用 Gradle 3.x (或更高版本) 安装 Java 8.x 。...命令执行后,你将 找到一个 JAR 文件,里面包含了你应用程序,以及已作为依赖项添加到应用程序连接器库:build/libs/--all.jar。...这样,Flink 可以 JAR 文件运行应用程序,而无需另外指定主类。 未来,我们将分别介绍:Flink流处理应用程序,Flink批处理应用程序。

    1.7K30

    cxf webservice整合spring 原

    前端建模:CXF 提供了前端建模概念,允许您使用不同前端 API 来创建 Web 服务。API 允许您使用简单工厂 Bean 并通过 JAX-WAS 实现来创建 Web 服务。...工具支持:CXF 提供了用于在 Java Bean、Web 服务 WSDL 之间进行转换不同工具。它提供了对 Maven Ant 集成支持,并无缝地支持 Spring 集成。    ...(本系列第 2 部分将提供有关 RESTful 服务更多信息。)     对不同传输绑定支持:CXF 支持不同种类传输, XML 到逗号分隔值 (CSV)。....jar                             spring-context-2.0.4.jar                             spring-web-2.0.4...可从apache官方网站下载 apache-cxf-2.1.2.zip, 然后apache-cxf-2.1.2/lib 目录中获得         1  首先服务点接口。

    76521

    java PDF 加密 分割 生成封面图操作

    由于``某些不可抗力原因,公司不允许使用itext系列jar包,因此系统中使用相关jar得替换成开源。...经比较尝试考虑使用org.apache.pdfbox来替换,同时修改系统中原有的方法,发现比itext系列稍显简洁一点,记录如下: 加密文件 /** * 加密文件测试 * @from...PDDocument document = PDDocument.load(new File(newFilePath), password);//带密码读取 //第一页截取到第二页...,不需要自己去造轮子, step-1 去maven仓库检索同类型包,比较一下热度使用人数 step-2 下载对应包source源代码,看一下框架整体结构,里面都有哪些package类,不知道类是干什么...,可以看一下类上面的注释,一般都是比较简单英文 step-3 动手写单元测试进行验证。

    43930
    领券