Не удается запустить javac в методе, импортирующем класс в jar

#java #jar #javac

Вопрос:

Я хочу скомпилировать Entry.java который импортирует БАНКУ утилит.

Я пытаюсь запустить javac Entry.java файл, чтобы создать его класс. Но каждый раз я получаю package utilities does not exist ошибку. Я попробовал эту команду из папки проекта, но она не сработала: javac .mainEntry.java .

Структура каталогов такова:

  • Проект
    • Manifest.txt
    • Главная
      • Entry.java
    • Служебные программы
      • Utilities.jar

Entry.java это простая утилита для импорта файлов (файл JAR):

 package main;

import utilities.Utilities;

public class Entry{
    public static void main(String[] args){
        System.out.println(Utilities.word());
    }
}
 

Служебные программы.в java есть только метод, который возвращает строку:

 package utilities;

public class Utilities{
    public static String word (){
        return "Utilities";
    }
}

 

Если я правильно понял, если я запущу javac из верхнего каталога (называемого Project), все подкаталоги будут в ПУТИ к классам, поэтому мне здесь не нужно -cp . Мне это понадобится, если я запущу javac из главного каталога.

(Но я все равно пытался. Но javac -cp .utilitiesUtilities.jar .Entry.java это тоже не сработало)

Итак, проблема в импорте или я на самом деле не понимал, как работать с файлами JAR.

Или ничего из вышеперечисленного.

Комментарии:

1. Я заметил, что вы вызываете класс Utilities , а не Utils также, когда вы запускаете Javac, он не создает jar, только классы

2. Пожалуйста, проверьте Utils -> > Utilities путаница. В Main том , на что вы ссылаетесь Utils , вы упоминаете a Utils.java , но код, который вы опубликовали, определяет a Utilities .

3. Ты был прав. Я исправляю имена. Я по ошибке скопировал старый файл. Возможно, я плохо выразился. Я хочу создать банку проекта, но перед этим шагом у меня возникла проблема. Я не могу создать файл класса Entry.java

4. Я немного переформулировал вопрос