Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么可以';当cygwin需要来自jar的类时,我是否在cygwin上编译java文件?_Java_Jar_Cygwin_Classpath_Javac - Fatal编程技术网

为什么可以';当cygwin需要来自jar的类时,我是否在cygwin上编译java文件?

为什么可以';当cygwin需要来自jar的类时,我是否在cygwin上编译java文件?,java,jar,cygwin,classpath,javac,Java,Jar,Cygwin,Classpath,Javac,我正试图编译我的类以及提供的.jar文件,该文件包含我的类将使用的类 这就是我一直在尝试的: javac -classpath .:WordSearch.jar WordSearchSolver.java 以下是回应: WordSearchSolver.java:16: cannot find symbol symbol : class PuzzleWord location: class WordSearchSolver public ArrayList<PuzzleWord

我正试图编译我的类以及提供的.jar文件,该文件包含我的类将使用的类

这就是我一直在尝试的:

javac -classpath .:WordSearch.jar WordSearchSolver.java
以下是回应:

WordSearchSolver.java:16: cannot find symbol
symbol  : class PuzzleWord
location: class WordSearchSolver
    public ArrayList<PuzzleWord> findwords()
                 ^
WordSearchSolver.java:18: cannot find symbol
symbol  : class PuzzleWord
location: class WordSearchSolver
    return new ArrayList<PuzzleWord>();
                         ^
(WordSearchSolver.java和Wordsearch.jar位于同一目录中)


我遗漏了什么吗?

尽管您在Cygwin上,但我猜您的路径分隔符应该是分号,因为Java编译器/JVM将在Windows环境中运行

javac -cp .\;WordSearch.jar ...

请注意,分号必须转义以防止Cygwin shell进行解释(感谢下面的bMail)

尽管您使用的是Cygwin,但我猜您的路径分隔符应该是分号,因为Java编译器/JVM将在Windows环境中运行

javac -cp .\;WordSearch.jar ...

请注意,分号必须转义以防止Cygwin shell进行解释(感谢下面的bMail)

您没有从
WordSearchSolver
类中的
WordSearch.jar
导入任何类。您需要在这个类的顶部包含import语句及其包

您没有从
WordSearchSolver
类中的
WordSearch.jar
导入任何类。您需要在这个类的顶部包含import语句及其包

结果是分号和引号的组合

javac -classpath ".;WordSearch.jar" WordSearchSolver.java

谢谢大家为我指明了正确的方向

结果是分号和引号的组合

javac -classpath ".;WordSearch.jar" WordSearchSolver.java

谢谢大家为我指明了正确的方向

当我使用分号时,在bash中会出现更奇怪的错误。你必须引用分号以避免Cygwin解释它。例如,javac-cp.\;WordSearch.jar或javac-cp.“;WordSearch.jar”当我使用分号时,我会遇到涉及bash的更奇怪的错误。您必须引用分号,以避免Cygwin对其进行解释。例如,javac-cp.\;jar或javac-cp“;WordSearch.jar”它们在同一个包中。它们不需要进口,它们在同一个包裹里。它们不需要导入