Где вы обычно храните файлы Java .class?

У меня есть папка Java src, в которой я 9X_java-api храню свои файлы .java. Затем я компилирую 9X_java-se их с помощью терминала и в итоге получаю 9X_.java файлы .class в том же каталоге. Это не обязательно 9X_oraclejdk меня беспокоит, но я никогда не видел, чтобы 9X_.class-file это делалось профессионально.

По профессиональному 9X_oraclejdk соглашению (если таковое существует), в 9X_java-se какой папке в каталоге проекта следует хранить 9X_.class-file скомпилированные файлы .class?

6
1

  • Стоит упомянуть, извините, что я студент, которому почти не нужны файлы .class, кроме их запуска сразу после компиляции. Я не требую, чтобы они находились в профессиональном архивном файле, но мне было просто люб ...
1
Общее количество ответов: 1

Ответ #1

Ответ на вопрос: Где вы обычно храните файлы Java .class?

Если вы не знакомы с этим, вам следует изучить 9X_openjdk тему Java classpath. Я помню, что это сбивало с толку, когда 9X_java-libraries я только начинал программировать на Java.

В 9X_jdk Java существует определенный путь поиска 9X_jre файлов .class; когда вы запускаете java -cp blahblahblah, который 9X_java-api устанавливает путь к классам. java -jar blahblahblah.jar открывает 9X_jre JAR file, а манифест файла .jar может указывать 9X_java-libraries путь к классам. Путь к классам по умолчанию 9X_oraclejdk находится в текущем каталоге.

Обычно классы 9X_java Java помещаются в пакеты в иерархической 9X_jdk структуре каталогов в файловой системе, и 9X_java-api в этом случае компилятор Java также помещает 9X_.java файлы .class в соответствующую структуру.

Если 9X_jdk вы запускаете javac из командной строки, -d argument указывает 9X_j2se целевой корневой каталог для файлов .class.

Типичный 9X_.class-file проект выглядит так, если ваш пакет называется 9X_java com.example.foo и содержит Foo.java и Bar.java:

project_dir/
   src/
      com/
         example/
            foo/
               Foo.java
               Bar.java
   bin/
      com/
         example
            foo/
               Foo.class
               Bar.class

Компилятор 9X_jdk java будет выполнен с -d bin в качестве целевого 9X_j2se каталога и создаст файлы .class, соответствующие 9X_jre файлам .java. Но назначение не обязательно называть 9X_oraclejdk bin; вы можете назвать его Freddy или dumbass, если хотите, хотя 9X_java-libraries это, вероятно, сбивает с толку людей, привыкших 9X_java к bin или build.

В большинстве случаев при сборке 9X_.class-file программы или библиотеки Java файлы .class являются 9X_java-se лишь временным шагом на пути к созданию 9X_j2se файла .jar (по сути, просто формата .zip 9X_oraclejdk с расширением .jar, содержащего файлы .class 9X_core-java и немного метаданных), и когда вы их действительно 9X_.java запустите, Java будет использовать файл 9X_openjdk .jar, если вы включите его как часть пути 9X_java к классам.

10
0