注意,链接的解决方案(例如DZone's blog post)不起作用。
我收到此错误,但导入了包(commons ... .jar)
org.apache.commons.lang3.tuple //does not exist import
org.apache.commons.lang3.tuple.MutableTriple
源代码
import org.apache.commons.lang3.tuple.MutableTriple;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple;
构建代码:
出口 JAVA_HOME = /图书馆/的Java / JavaVirtualMachines / jdk1.8.0_25.jdk /内容/首页 /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/javac -target 1.8 -source 1.8 -classpath \“../lib/commons-lang3-3.4.jar;../lib/httpclient-4.5.jar;../lib/httpcore-4.4.1.jar;../ LIB / org.json-20120521.jar; ../ LIB / PDFBOX-APP-2.0.0-20150606.170503-1383.jar; ../ SRC /:../ LIB /公地lang3-3.4-javadoc.jar; ../lib/pdfbox-app-2.0.0-20150606.170503-1383-sources.jar“\ -d output \ ../ src / com / tymaf / pdf / * .java
如何解决这个问题?
答案 0 :(得分:5)
仔细检查您的类路径。看起来您混合了分隔符;
和:
。
也可以不包括jar
编译类(库本身)。您已将java-docs
和sources
包含在类路径中无效。
../src/:
../lib/commons-lang3-3.4-javadoc.jar;
../lib/pdfbox-app-2.0.0-20150606.170503-1383-sources.jar
答案 1 :(得分:2)
这是我的建议
.jar
扩展名 .jar
扩展名可以根据您的环境和IDE以不同方式导入。
这里它是如何从控制台作为本机模式工作的。
.jar.zip
库
http://www.java2s.com/Code/Jar/c/Downloadcommonslang333jar.htm libs
commons-lang3-3.3.jar
复制到您的工作目录libs
TheNewWork.java
并添加了3个导入。现在从您的工作目录c:\projects
进行编译:
javac -classpath "/Projects/libs/commons-lang3-3.3.jar;" TheNewWork.java
运行它:
java -classpath "/Projects/libs/commons-lang3-3.3.jar;" TheNewWork
如果您有多个.jar
,只需为Windows添加;
,为Linux添加:
。顺便说一句,我使用Windows 10 cmder控制台和java jdk1.8.0_66。在其他操作系统控制台中,您可能需要放置.:Projects...etc
而不是/Projects...etc
。但这个想法是一样的。
更新
在Windows中,可以设置类路径,如
set CLASSPATH=%CLASSPATH%;C:\Projects\libs\commons-lang3-3.3.jar
Linux中的OR
export CLASSPATH=".:/Projects/libs/commons-lang3-3.3.jar"
然后你可以运行javac TheNewWork.java
,但这样或其他方式是个人品味。在其他操作系统中也可以做一些类似的事情。
最后一件事,如果你懒惰并且既不想编写完整的命令行也不想创建类路径,你可以用完整的命令行创建一个批处理文件并以这种方式运行它;)
一些参考文献:
我希望这能解决你的问题
注意
另外感谢@MarkPeters在我之前的回答中通知我:直接向JRE库添加应用程序依赖项不是一个好方法,因为它使JRE适合只运行一个Java应用程序,而不是通用运行时。此外,它会使OP想要做的任何部署复杂化。 lib / ext用于扩展核心Java API,如下所述:docs.oracle.com/javase/tutorial/ext/basics/install.html。不适用于普通的应用程序依赖项。