java为什么我的类路径没有被使用?
我有projects/plugin/target/mypackage.jar
然后我有projects/runner/Runner.java
当我运行jar tf mypackage.jar
时,它没有它所依赖的一些类Runner.java
想要import mypackage.MyClass
当我从runner
文件夹中执行javac -cp '.:../plugin/target/*' Runner.java
时,它会抱怨MyClass
的某些依赖项不可用
我的runner
文件夹包含适当的JAR文件。如果我将这些JAR文件复制粘贴到target
文件夹中,编译就可以工作了。考虑到我在类路径中使用.
,为什么包不知道在哪里找到正确的jar
# 1 楼答案
经过一些建议和诡计,我发现这是可行的:
javac -cp './*:../plugin/target/*' Runner.java
关键区别在于
./*
而不是.
如果有人能更好地解释为什么会这样,我将很高兴地把他们作为答案