如何在Windows CMD+Notepad++中使用PDFBox?无需大型IDE与Maven
解决方法:无需Maven,用原生Java命令运行PDFBox代码
你完全不需要依赖Maven、Gradle这类构建工具,用原生的javac和java命令就能搞定这个问题——报错的核心原因是你误解了Windows环境变量PATH的作用:PATH是系统用来查找可执行程序(比如javac、java)的路径,而Java编译/运行时需要的**类路径(classpath)**是用来查找第三方类库(比如PDFBox的jar)的,两者完全无关。
下面是具体的操作步骤:
1. 编译Java文件
打开CMD,进入你的Document_Creation.java所在的文件夹,执行以下命令(根据你的jar文件选择其中一种):
方式一:使用普通的pdfbox jar
如果用的是pdfbox-2.0.20.jar,命令为:
javac -cp "pdfbox-2.0.20.jar" Document_Creation.java
如果jar文件不在当前文件夹,替换成完整路径,比如:
javac -cp "C:\your-jar-folder\pdfbox-2.0.20.jar" Document_Creation.java
方式二:使用pdfbox-app胖jar(更推荐)
pdfbox-app-2.0.20.jar是包含了所有依赖的"胖jar",用它可以避免后续可能的依赖缺失问题,命令为:
javac -cp "pdfbox-app-2.0.20.jar" Document_Creation.java
2. 运行编译后的类文件
编译成功后,当前文件夹会生成Document_Creation.class文件,执行以下命令运行:
对应方式一的运行命令
java -cp .;pdfbox-2.0.20.jar Document_Creation
这里的.表示当前目录(用来找到你的Document_Creation.class文件),Windows系统下用分号;分隔多个classpath条目,Linux/macOS用冒号:。
对应方式二的运行命令
java -cp .;pdfbox-app-2.0.20.jar Document_Creation
额外说明
- 不建议设置全局
CLASSPATH环境变量:虽然可以把PDFBox的jar加到全局CLASSPATH里,但这样可能会和其他Java项目的类依赖冲突,每次在命令中显式指定-cp是更稳妥的做法。 - 确认路径中的空格:如果你的jar文件路径包含空格,一定要用双引号把路径括起来,比如
"C:\Program Files\pdfbox\pdfbox-2.0.20.jar"。
按照上面的步骤操作,你的代码就能正常编译并生成PDF文件了。
内容的提问来源于stack exchange,提问作者Xtreme
相关产品推荐
相关产品推荐

