【问题标题】:how to invoke javac from windows git shell/gnu makefile如何从 Windows git shell/gnu makefile 调用 javac
【发布时间】:2020-06-02 21:50:39
【问题描述】:

我正在使用我的 linux 机器在家庭办公室工作, 肯定会写出可移植的代码。 使用shell和gnumake,通过

编译java
javac -Xlint:deprecation -Xlint:unchecked --module-path libs/nrjavaserial-4.0.1.jar:libs/jep-3.9.0.jar:libs/commons-beanutils-1.9.4.jar:libs/commons-collections-3.2.2.jar:libs/commons-logging-1.2.jar:src/  src/main/de/name/product/Product.java -d target/classes/

一切正常。 现在在办公室使用 Windows 10 但仍然 gnumake,无法正常工作。 同样来自 git bash,没有。

我会满足于让它在 gitshell 中运行的第一步。 我使用javac 11.0.72.26.0.windows.1

错误(由于与客户有关,我无法完整显示) 表明没有 jar 被接受:

 error: cannot find symbol
       NRSerialPort serial = getSingleSerialPort(baudRate);
        ^
  symbol:   class NRSerialPort
  location: class xxx

表明libs/nrjavaserial-4.0.1.jar 虽然存在但不被接受 和

 error: cannot find symbol
        } catch(JepException e) {
                ^
  symbol:   class JepException
  location: class XXX

表示不接受libs/jep-3.9.0.jar。 请注意,在 linux 上,在普通的 bash shell 上一切正常。

Windows 的分隔符可能错误? 我一直在想,分隔符在 git bash 上是透明的吗? 或只有/但不是:? 我尝试了几种组合,但没有成功。

我怀疑一切都很容易……对吧?

【问题讨论】:

  • 你是对的。我会编辑

标签: java windows git-shell


【解决方案1】:

你猜对了,你需要在 Windows 上使用不同的分隔符。

https://docs.oracle.com/en/java/javase/13/docs/specs/man/javac.html

在以下选项列表中,path 的参数表示 搜索路径,由文件系统位置列表组成 平台路径分隔符,(分号 ; 在 Windows 上,或 冒号:在其他系统上。)根据选项,文件系统 位置可以是目录、JAR 文件或 JMOD 文件。

如果您想要可移植性、易用性和可维护性,请使用诸如 ant、maven 或 gradle 之类的东西。

【讨论】:

    猜你喜欢
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 2018-01-01
    • 2013-04-25
    • 2011-01-13
    相关资源
    最近更新 更多