Опция javac -sourcepath не работает

Я нахожусь в C:\, и отсюда я хочу скомпилировать свой исходный файл Bingo.java, который находится в C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bingo\Bingo.java. Если я правильно понимаю -sourcepath, он используется, чтобы сообщить компилятору java, где искать исходные файлы .java.

Я пробовал следующее, чтобы установить -sourcepath, но, похоже, ничего не работает:

C:\>javac -sourcepath C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\
bingo\Bingo.java

C:\>javac -sourcepath C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bingo\Bingo.java

Даже эти ...

C:\>javac -sourcepath C:\Users\Devashish\Documents\NetBeansProjects\Bingo\srcbingo\Bingo.java

C:\>javac -sourcepath C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bingoBingo.java

Все вышеперечисленное дает ошибку "Файл не найден".

Я хотел бы упомянуть, что компиляция без -sourcepath из того же места работает нормально:

C:\>javac C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bingo\Bingo.java

Я считаю, что делаю здесь что-то очень глупое, но не могу этого понять. Любая помощь будет оценена по достоинству.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
0
1 306
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

-sourcepath определяет ДРУГИЕ файлы .java, которые должны быть в вашем проекте. Например:

У вас есть "C: \ A.java":

public class A {
    public static void main(String args[]) {
       B.hello();
    }
}

И C: \ dir \ B.java:

public class B {
    public void hello() {
        System.out.println("Hello!");
    }
}

В этом случае при компиляции и запуске вам потребуется исходный путь к C: \ dir \ B.java.

Обновлено: путь к классам (-cp) предназначен для .class, путь к исходному тексту (-sourcepath) предназначен для .java.

Думаю, я понял. У меня есть еще один исходный файл на .....\src\bingo\utils\Utils.java, доступ к которому осуществляется из Bingo.java. Теперь это работает javac -sourcepath C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bing‌​o\utils\ C:\Users\Devashish\Documents\NetBeansProjects\Bingo\src\bing‌​o\Bingo.java

user5818995 18.03.2018 06:38

Большой! Вы поняли -sourcepath! PS: Думаю, вы могли бы сделать -sp.

JustAProGamerAndDeveloper 18.03.2018 06:42

В javac нет варианта для -sp. Вы можете использовать --source-path или -sourcepath.

Toby Eggitt 05.02.2021 19:06

Другие вопросы по теме