在cygwin中将多个jar文件设置为classpath
我在c:\cygwin\programs\x.java
,它使用y.jar
和z.jar
,它们也在文件夹c:\cygwin\programs
。
在Windows中:
c:cygwin\programs>javac -classpath c:\cygwin\programs\y.jar;c:\cygwin\programs\z.jar x.java
没有错误。
在cygwin
(1)
$javac -classpath c\:/cygwin/programs/y.jar;c\:/cygwin/programs/z.jar x.java Errors: $'PK\003\004': Command not found.
(2)
$javac -classpath c:\cygwin\programs\y.jar;c:\cygwin\programs\z.jar x.java Errors: -bash command Command not found.
(3)
$javac -classpath 'c:/cygwin/programs/y.jar;c:/cygwin/programs/z.jar' x.java No error.
为什么在(1),(2)的情况下给出错误…
你正在搞乱逃脱角色背斜线\
。 在基于Unix的环境中,最好使用/
作为路径分隔符。 如果由于某种原因想要使用反斜杠,请使用额外的反斜杠,即\\
在路径中将其视为文字。
由于上述原因,第一个两个语句不会导致正确的路径,从而导致失败。
Cygwin对待;
字符作为启动新命令行,因此在(1)中它尝试执行单独的命令
$ javac -classpath c\:/cygwin/programs/y.jar $ c\:/cygwin/programs/z.jar x.java
错误消息来自Cygwin尝试直接执行jar文件作为脚本。
您可以使用''
在(3)中引用整个参数,或者转义分号:
$ javac -classpath c\:/cygwin/programs/y.jar\;c\:/cygwin/programs/z.jar x.java
- 执行JAR时java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
- 如何覆盖存放在ant lib目录中的ant任务
- 如何让Ant在javac中使用JAXB 2.2.x而不是Java 6 SE JAXB类?
- 如何解决此错误引起:java.lang.ClassNotFoundException
- 在weblogic中使用外部属性文件
- Spring:PropertyPlaceholderConfigurer找不到属性文件
- GlassFish服务器收到消息时出现java.lang.NoClassDefFoundError错误
- Mac用户 – 如何在Mac中设置CLASSPATHS(我正在进行Lucene演示)
- ClassNotFoundException在修改后的SimpleShortestPathsVertex上运行GiraphRunner