Intellij может построить мой проект, но javac не может скомпилировать / найти символ - PullRequest
0 голосов
/ 19 июня 2019

Я могу собрать свой проект и запустить его с помощью intellij, но когда я пытаюсь скомпилировать его в терминале с find . -name "*.java" > sources.txt; javac -sourcepath @sources.txt, он выдает мне ошибки, которые intellij не обнаруживает.

Я попытался выполнить рефакторинг (изменениеимена классов), но это, очевидно, не помогает.

 location: package za.co.wethinkcode.avaj.simulator
src/za/co/wethinkcode/avaj/simulator/vehicle/Flyable.java:7: error: cannot find symbol
    public void registerTower(WeatherTower WeatherTower);
                              ^
  symbol:   class WeatherTower
  location: interface Flyable
src/za/co/wethinkcode/avaj/simulator/vehicle/Baloon.java:3: error: cannot find symbol
import za.co.wethinkcode.avaj.simulator.WeatherTower;
                                       ^
  symbol:   class WeatherTower
  location: package za.co.wethinkcode.avaj.simulator
src/za/co/wethinkcode/avaj/simulator/vehicle/Baloon.java:6: error: cannot find symbol
    private WeatherTower weatherTower;
            ^
  symbol:   class WeatherTower
  location: class Baloon
src/za/co/wethinkcode/avaj/simulator/vehicle/Baloon.java:57: error: cannot find symbol
    public void registerTower(WeatherTower WeatherTower) {
                              ^
  symbol:   class WeatherTower
  location: class Baloon
src/za/co/wethinkcode/avaj/simulator/vehicle/JetPlane.java:3: error: cannot find symbol
import za.co.wethinkcode.avaj.simulator.WeatherTower;
                                       ^
  symbol:   class WeatherTower
  location: package za.co.wethinkcode.avaj.simulator
src/za/co/wethinkcode/avaj/simulator/vehicle/JetPlane.java:6: error: cannot find symbol
   private WeatherTower weatherTower;
           ^
  symbol:   class WeatherTower
  location: class JetPlane
src/za/co/wethinkcode/avaj/simulator/vehicle/JetPlane.java:57: error: cannot find symbol
    public void registerTower(WeatherTower WeatherTower) {
                              ^
  symbol:   class WeatherTower
  location: class JetPlane
src/za/co/wethinkcode/avaj/simulator/vehicle/Helicopter.java:3: error: cannot find symbol
import za.co.wethinkcode.avaj.simulator.WeatherTower;
                                       ^
  symbol:   class WeatherTower
  location: package za.co.wethinkcode.avaj.simulator
src/za/co/wethinkcode/avaj/simulator/vehicle/Helicopter.java:6: error: cannot find symbol
    private WeatherTower weatherTower;
            ^
  symbol:   class WeatherTower
  location: class Helicopter
src/za/co/wethinkcode/avaj/simulator/vehicle/Helicopter.java:51: error: cannot find symbol
    public void registerTower(WeatherTower WeatherTower) {
                              ^
  symbol:   class WeatherTower
  location: class Helicopter
src/za/co/wethinkcode/avaj/simulator/Simulator.java:13: error: cannot find symbol
    private static  WeatherTower weatherTower;
                    ^
  symbol:   class WeatherTower
  location: class Simulator
src/za/co/wethinkcode/avaj/simulator/Simulator.java:26: error: cannot find symbol
                weatherTower =  new WeatherTower();
                                    ^
  symbol:   class WeatherTower
  location: class Simulator
13 errors

Я ожидаю, что он скомпилируется, так как он строит в intellij и не жалуется на то, что не нашел символ.

1 Ответ

0 голосов
/ 20 июня 2019

Неважно, я понял это. Я не должен был использовать флаг -sourcepath. находить . -name "* .java"> sources.txt; javac @ sources.txt работает отлично. Просто опустите флаг, и все готово. Также, если вы хотите использовать флаг sourcepath, убедитесь, что вы находитесь в каталоге src. Я думаю, -sourcepath просто добавляет / src к каждому пути, найденному с помощью команды find.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...