Как скомпилировать классы Java, которые находятся внутри нескольких папок? - PullRequest
0 голосов
/ 11 мая 2011

Я новичок в мире Java. У меня есть несколько классов, которые находятся во вложенных папках.

Мое пространство имен имеет следующую структуру папок (предположим, что папка companyName находится на C: \):

companyName -> isuName -> projectName -> module1 -> sampleclass1.java
companyName -> isuName -> projectName -> module2 -> sampleclass2.java
companyName -> isuName -> projectName -> module3 -> codePart3.1 -> sampleclass3.java
companyName -> isuName -> projectName -> module3 -> codePart3.2 -> sampleclass4.java

Моя проблема в том, что я хочу скомпилировать все эти классы из командной строки.

Я попробовал следующую команду, но она не работает:

C:\> javac -sourcepath companyName\*.java

но это не работает. Я получаю следующую ошибку:

javac: no source files
Usage: javac <options> <source files>

Пожалуйста, помогите скомпилировать все эти классы и, возможно, создать из них jar.

1 Ответ

2 голосов
/ 11 мая 2011

Я посмотрел страницу руководства для javac , и кажется, что вам придется прописать исходные файлы в командной строке, или вам придется перечислить их в отдельном файле, и ссылка на этот файл в командной строке.

Я установил первые два исходных файла в вашем вопросе в похожее дерево и скомпилировал их следующим образом:

C:\>"\Program Files\Java\jdk1.6.0_24\bin\javac.exe" company\isu\project\module\HelloJava.java company\isu\project\module\ByeBye.java

Используя другой метод, я создал этот файл:

C:\>type sourcefiles.txt
company\isu\project\module\HelloJava.java
company\isu\project\module\ByeBye.java

Затем я передал этот файл компилятору javac, добавив в руководство спецификатор "@".

C:\>"\Program Files\Java\jdk1.6.0_24\bin\javac.exe" @sourcefiles.txt

Страница справочника по jar , похоже, не дает тех же приемов, поэтому я указал файлы в командной строке, как и раньше.

C:\>"\Program Files\Java\jdk1.6.0_24\bin\jar.exe" -cf myjar.jar company\isu\project\module\HelloJava.class company\isu\project\module\ByeBye.class

Конечно, делать это несколько утомительно, поэтому я настоятельно рекомендую Ant , который можно запустить в Windows.

...