【问题标题】:What are the possible causes for javac giving me an invalid flag error?javac 给我一个无效标志错误的可能原因是什么?
【发布时间】:2021-10-21 09:50:53
【问题描述】:

我正在尝试编译一些 java 类,它们需要外部库。

我相信我有正确的,但如果我插入任何一个以外的任何一个,我都会收到一个无效标志错误。

这是我正在运行的命令:

javac -d classdir -classpath "libraries\*.jar" -sourcepath src src\main\java\sc\fiji\cellCounter\*.java

我得到的错误是:

error: invalid flag: libraries\scijava-common-2.83.3.jar

我的库文件夹目前只有两个 .jar 文件,ij-1.53​​c.jar 和上述错误中的一个。如果我从文件夹中删除 scijava 并运行相同的命令,它会运行但说它丢失了 一堆以 'org.scijava' 开头的包。

什么可能导致无效标志错误? 任何其他帮助编译它都将不胜感激。

【问题讨论】:

  • 听起来库文件本身已损坏。你能再得到一份或重新下载吗?也许来自不同的网站?
  • 可能需要建立类路径或调整外壳转义以避免通配符。
  • @markspace 如果 jar 已损坏,则会出现加载错误,而不是来自 javac 本身的标志错误。
  • 尝试明确列出罐子而不是*jar
  • 尝试明确列出它们用冒号分隔(在 Windows 上;在 Unix 上用分号)(@D-Dᴙum) 还要检查where javac——它是否是某个地方的存根,例如ProgramData 还是通用文件?我有时会遇到类似java 存根混淆引用的问题,这可能会导致此类问题。

标签: java imagej sci-java


【解决方案1】:

所以,奇怪的是,在 * 解决问题后删除 .jar。

【讨论】:

    猜你喜欢
    • 2013-06-25
    • 2011-11-18
    • 2014-10-08
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多