Java 파일에 jar 파일을 포함시키고 명령 프롬프트에서 컴파일하는 방법
3 개의 jar 파일 과이 jar 파일에 의존하는 .java 파일이 있습니다. 명령 프롬프트를 사용하여 이러한 jar 파일로 .java 파일을 어떻게 컴파일합니까?
"-cp"옵션을 사용하여 "javac"명령에 jar 파일을 포함시킬 수 있습니다.
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
환경 변수 "CLASSPATH"를 올바르게 설정하여 컴파일 할 때마다 jar를 포함시킬 수 있습니다. 환경 변수는 Java 파일을 컴파일 / 실행하는 데 사용해야하는 jar 및 클래스가있는 경로를 저장합니다. 파일을 컴파일 할 때마다 jar 파일을 개별적으로 포함 할 필요는 없습니다.
기계마다 클래스 경로를 환경 변수로 설정하는 방법이 다릅니다. Windows, Linux 등의 명령이 다릅니다.
이 블로그 에서 자세한 내용을 확인할 수 있습니다 .
http://javarevisited.blogspot.com/2011/01/how-classpath-work-in-java.html
리눅스에서 시도하십시오
javac -cp jarfile source file
예 :-
javac -cp .:/jars/* com/template/*.java
구문은 Windows dos 명령에서 작동합니다.
javac -cp ".;first.jar;second.jar;third.jar" MyJavaFile.java
환경 변수 설정을 통해 모든 종속성 jar 파일을 클래스 경로에 추가하거나 아래 단계를 사용하십시오.
- 명령 프롬프트를 엽니 다.
- 디렉토리를 컴파일하려는 Java 파일의 위치로 변경하십시오.
아래와 같이 종속성 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;
이제 Java 파일을 컴파일 할 수 있습니다. (명령
javac YourJavaFile.java
)
이것이 의존성 문제를 해결하기를 바랍니다.
다음은 단계입니다.
모든 jar와 .java 파일을 동일한 폴더에 복사하십시오 (긴 경로를 언급하는 대신 파일 이름을 쉽게 언급 할 수 있습니다. jar 및 .java를 별도의 폴더에 유지할 수는 있음).
컴파일하기,
javac -cp .:<file_1_name>.jar:<file_2_name>.jar <prog_name>.java
실행하다,
java -cp .:<file_1_name>.jar:<file_2_name>.jar <prog_name>
이게 도움이 되길 바란다!
.class 파일이 생성됩니다 :
javac -classpath "[jarname with specified path]" [java filename]
클래스 파일이 실행됩니다.
java -cp [jarname with specified path]: [java filename]
이 시도.
javac -cp .:jars/jar1:jars/jar2:jars/jar3 com/source/*.java
컴파일 타임 및 런타임에 종속성을 지정해야합니다.
이 형식을 사용하여 컴파일
javac -cp "*.jar;classfile_path" filename.java
예:
javac -cp "ojdbc6.jar;c:\programs" Main.java
우분투를 사용하는 경우 :
/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
참고 : 파일 위치 및 패키지 이름을 참조하십시오
때때로 다음과 같은 변경 작업이 이루어집니다.
java -cp ".;%CLASSPATH%" classfilename
참고 : Windows의 경우. 리눅스를 $CLASSPATH
대신 사용하십시오.
'Programming' 카테고리의 다른 글
size_t의 정의는 어디에 있습니까? (0) | 2020.07.27 |
---|---|
LINQ 기능의 순서는 중요합니까? (0) | 2020.07.27 |
멤버 생성자 및 소멸자 호출 순서 (0) | 2020.07.27 |
SQLServer 시간 초과 예외를 포착하는 방법 (0) | 2020.07.27 |
비활성 조합원 및 정의되지 않은 동작에 액세스하고 있습니까? (0) | 2020.07.27 |