为什么我的类路径没有被使用?



我有projects/plugin/target/mypackage.jar

那我有projects/runner/Runner.java

当我运行jar tf mypackage.jar时,它没有它所依赖的一些类。Runner.javaimport mypackage.MyClass

当我从runner文件夹中javac -cp '.:../plugin/target/*' Runner.java时,它抱怨MyClass的某些依赖项不可用。

我的runner文件夹包含相应的 JAR 文件。如果我将这些JAR文件复制粘贴到target文件夹中,则编译工作。考虑到我在类路径中使用.,为什么包不知道在哪里可以找到正确的 JAR?

经过一些建议和恶作剧,我发现这有效:

javac -cp './*:../plugin/target/*' Runner.java.

关键区别在于./*而不是.

如果有人能更好地解释为什么会这样,我很乐意将它们标记为答案。

相关内容

  • 没有找到相关文章

最新更新