Как включить файлы JAR с файлом Java и скомпилировать в командной строке - PullRequest
104 голосов
/ 22 февраля 2012

У меня есть 3 jar-файла и файл .java, который зависит от этих jar-файлов.Как мне скомпилировать файл .java с этими файлами jar с помощью командной строки?

Ответы [ 10 ]

90 голосов
/ 22 февраля 2012

Вы можете включить файлы jar в команду "javac", используя опцию "-cp".

javac -cp ".:/home/path/mail.jar:/home/path/servlet.jar;" MyJavaFile.java

Вместо "-cp" вы также можете использовать "-classpath"

javac -classpath ".:/home/path/mail.jar:/home/path/servlet.jar:" MyJavaFile.java

Вы можете включать jar-файлы при каждой компиляции, правильно установив переменную окружения "CLASSPATH".Переменная окружения будет хранить путь к jar-файлам и классам, которые необходимо использовать для компиляции / выполнения любого java-файла.Вам не нужно будет включать файлы jar по отдельности каждый раз, когда вы компилируете файл.

На разных машинах используются разные методы для установки classpath в качестве переменной среды.Команды для Windows, Linux и т. Д. Разные.

Более подробную информацию можно найти в этом блоге .

http://javarevisited.blogspot.com/2011/01/how-classpath-work-in-java.html
19 голосов
/ 29 августа 2013

Пожалуйста, попробуйте на Linux

javac -cp jarfile source file 

ПРИМЕР: -

javac  -cp .:/jars/* com/template/*.java
15 голосов
/ 11 июля 2013

Синтаксис будет работать в команде Windows DOS:

javac -cp ".;first.jar;second.jar;third.jar" MyJavaFile.java
14 голосов
/ 22 февраля 2012

Попробуйте добавить все файлы jar зависимостей в путь к классам через настройки переменных среды или выполните следующие действия:

  1. Откройте командную строку.
  2. Перейдите в каталог, где находится ваш Java-файл, который вы хотите скомпилировать.
  3. Установите classpath для ваших файлов jar зависимостей, как показано ниже:

    set classpath=C:\Users\sarath_sivan\Desktop\jars\servlet-api.jar; C:\Users\sarath_sivan\Desktop\jars\spring-jdbc-3.0.2.RELEASE; C:\Users\sarath_sivan\Desktop\jars\spring-aop-3.0.2.RELEASE;

  4. Теперь вы можете скомпилировать свой java-файл,(команда: javac YourJavaFile.java)

Надеюсь, это решит вашу проблему с зависимостями.

10 голосов
/ 29 марта 2018

Ниже приведены шаги,

  1. Скопируйте все jar-файлы и ваш файл .java в одну и ту же папку (вместо имен длинных путей будет легко упомянуть имена файлов. Хотя вы можетехраните jar и .java в отдельных папках).

  2. Для компиляции,

    javac -cp .:<file_1_name>.jar:<file_2_name>.jar <prog_name>.java
    
  3. Для выполнения,

    java -cp .:<file_1_name>.jar:<file_2_name>.jar <prog_name>
    

Надеюсь, это поможет!

4 голосов
/ 27 апреля 2017

Попробуйте.

javac -cp .:jars/jar1:jars/jar2:jars/jar3 com/source/*.java
4 голосов
/ 03 марта 2017

Будет создан файл .class:

javac -classpath "[jarname with specified path]" [java filename]

Будет выполнен файл класса:

java -cp [jarname with specified path]: [java filename]
1 голос
/ 25 апреля 2018

Необходимо указать зависимости во время компиляции, а также во время выполнения

Для компиляции используйте этот формат

javac -cp "*.jar;classfile_path" filename.java

Пример:

javac -cp "ojdbc6.jar;c:\programs" Main.java
0 голосов
/ 17 июля 2018

иногда вносятся следующие изменения:

java -cp ".;%CLASSPATH%" classfilename 

Примечание: ПО Windows.Для Linux используйте $CLASSPATH вместо.

0 голосов
/ 25 сентября 2017

Если вы используете Ubuntu:

/opt/JavaServices/sqlite $ export CLASSPATH=/opt/JarFiles/XXXX.jar:/opt/JarFiles/XXXX.jar:/opt/JavaServices/;javac SQLiteSample.java

Перейти в папку (вне структуры пакета)

/opt/JavaServices $ export CLASSPATH=/opt/JarFiles/XXXXX.jar:/opt/JarFiles/XXXXX.jar:/opt/JavaServices/;java sqlite.SQLiteSample

Примечание. См. Расположение файлов и имена пакетов

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