Вот какая -то соответствующая информация.
Код: Выделить всё
$ java --version
openjdk 24-ea 2025-03-18
OpenJDK Runtime Environment (build 24-ea+25-3155)
OpenJDK 64-Bit Server VM (build 24-ea+25-3155, mixed mode, sharing)
$ javac --version
javac 24-ea
< /code>
И вот моя иерархия каталогов. < /p>
.
├───aa
│ └───a
│ abc.java
│
└───b
xyz.java
< /code>
Вот файлы.$ cat a/abc.java
package a;
import b.xyz;
public class abc
{
public static void main(final String[] args)
{
final xyz blah = new xyz();
}
}
< /code>
xyz.java
$ cat ../b/xyz.java
package b;
public class xyz {}
< /code>
И, наконец, вот где я есть. < /p>
$ pwd
/aa
Этот пакет b не является В настоящее время доступен из пути класса, поэтому я добавил опцию пути класса в свою команду. < /p>
Код: Выделить всё
$ java --class-path "./../" a/abc.java
Но когда я запускаю команду, вместо этого я получил эту ошибку.
Код: Выделить всё
$ java --class-path "./../" a/abc.java
a\abc.java:4: error: package b does not exist
import b.xyz;
^
a\abc.java:12: error: cannot find symbol
final xyz blah = new xyz();
^
symbol: class xyz
location: class abc
a\abc.java:12: error: cannot find symbol
final xyz blah = new xyz();
^
symbol: class xyz
location: class abc
3 errors
error: compilation failed
Код: Выделить всё
$ javac --class-path "./../" a/abc.java
< /code>
завершен без ошибок. И вот мой новый вывод дерева. < /P>
.
├───aa
│ └───a
│ abc.class
│ abc.java
│
└───b
xyz.class
xyz.java
Я делаю что -то не так? Я попробовал несколько вариантов параметров пути класса, все безрезультатно. Или это просто не поддерживается функциональность? и/b в одном каталоге уровня, тогда все это работает.
Подробнее здесь: https://stackoverflow.com/questions/793 ... un-command
Мобильная версия