当前位置: 首页 > 面试题库 >

javac classpath选项在当前目录中有多个jar文件导致错误

姜志行
2023-03-14
问题内容

环境:Windows 7,Java 6。

尝试使用-cp选项编译.java文件。该文件使用当前目录中的单个jar文件以及当前目录中的其他一些jar文件。

javac -cp ./*.jar MyFile.java

不起作用。

javac -cp ./* MyFile.java

不起作用

javac -cp ./MyJar.jar MyFile.java

作品

前两种情况,我收到无效的标志错误。有人可以解释这种行为吗?

我检查了是否存在空间问题,完整文件路径中的任何地方都没有空间。


问题答案:

注释以及“此问题可能已经在这里提供了答案”中提供的两个链接的引用来源,并没有完全解释观察到的行为。

javac -cp ./*.jar MyFile.java

无法使用,因为此上下文中的通配符用法与正常用法不同。这可以从文档中了解。始终代表完整文件,而不代表部分文件名。

javac -cp ./* MyFile.java

应该工作了。显然在Windows中使用双引号和/或分号。作品:

javac -cp“ ./*” MyFile.java

javac -cp ./*; MyFile.java

javac -cp“ ./*;” MyFile.java

javac -cp *; MyFile.java

javac -cp“ *” MyFile.java

javac -cp“ *;” MyFile.java

在文件中没有任何地方提到afaik这个重要事实。

所以我猜想在Java 1.6.0_75的WINDOWS 7 64位上,无论使用双行还是在使用WILDCARD时总是使用半冒号*



 类似资料:
  • 问题内容: 我不是要问正确的问题,而是想清除我的疑问。 实际上,我遇到了从jar文件引用类文件的情况。我的意思是说我有一个后端Java项目,其中包含application-context.xml文件的ABC。 现在,我创建了ABC项目的jar文件,并在一个基于Web的应用程序中使用了它。 在这里,我遇到了一个问题,即bean无法自动装配,并知道问题是,当我使用Eclipse导出ABC项目的jar文

  • 问题内容: 我正在用JAVA制作游戏,我想在jar中的某个目录中列出文件列表,这样我就可以确保列出要在游戏中使用的这些类的列表。 例如说我的罐子里有一个目录 我想 使用jar中另一个类的Java代码 获取该目录中所有.class文件的列表。 这样做的最佳代码是什么? 问题答案: 旧的Java1.4代码,但这会让您有一个主意:

  • 问题内容: 我想快速识别目录中的所有可写文件。快速的方法是什么? 问题答案:

  • 问题内容: “ java”如何知道要执行的类文件而不设置类路径。即,默认情况下它是否签入当前目录,或者我们也需要为当前目录设置类路径。 问题答案: 它首先检查当前目录。如果找不到该类,它将在类路径中搜索该类。 默认的类路径是当前目录。设置变量或使用命令行选项将覆盖默认值,因此,如果要在搜索路径中包括当前目录,则必须将其包括在新设置中。[ 来源 ]

  • null 我还在这里创建了一个Github问题:https://Github.com/spring-cloud/spring-cloud-gcp/issues/1948