Programming

java / javaw / javaws의 차이점

procodes 2020. 5. 23. 23:15
반응형

java / javaw / javaws의 차이점


궁금합니다. java/ javaw/ 의 차이점은 무엇 javaws입니까? 창에서 찾았습니다. 대부분의 Java가을 사용하여 시작되었습니다 javaw.


다음에 대한 문서를 참조하십시오.

  • java명령 1 / javaw명령 2
    1. java도구는 Java 응용 프로그램을 시작합니다. Java 런타임 환경을 시작하고 지정된 클래스를로드 한 후 해당 클래스의 main메소드를 호출하여이를 수행합니다 .
    2. javaw명령은 동일 java이있는 경우를 제외하고, javaw어떤이 연결되어 콘솔 창. 사용 javaw당신이 하지 않는 명령 프롬프트 창을 표시 할.
  • javawscommand , " Java Web Start 명령"

    javaws명령은 JNLP (Java Network Launching Protocol)의 참조 구현 인 Java Web Start를 시작합니다. Java Web Start는 네트워크에서 호스팅되는 Java 응용 프로그램 / 애플릿을 시작합니다.

    JNLP 파일이 지정되면 JNLP 파일에 지정된 javawsJava 응용 프로그램 / 애플릿이 시작됩니다. 실행은 현재 릴리스에서 지원되는 옵션이 있습니다. 그러나 이후 릴리스에서는 옵션이 제거 될 수 있습니다.

    javaws

    참조 JDK 9 릴리스 노트되지 않는 API는, 특징 및 옵션 :

    자바 배포 기술은 더 이상 사용되지 않으며 추후 릴리스에서 제거 될 것입니다
    애플릿 API, 자바 플러그인, 자바 애플릿 뷰어, JNLP과를 포함하여 Java Web Start를 포함한 자바 애플릿과 웹 시작 기능, javaws도구를 모두 JDK (9)에서 사용되지 않는 및 향후 릴리스에서 제거 될 예정입니다.


java : 출력 / 오류를 표시하기 위해 콘솔과 연관된 Java 응용 프로그램 실행 프로그램

javaw : (java windowed) 애플리케이션 실행기가 콘솔과 연관되지 않았습니다. 따라서 출력 / 오류 표시가 없습니다. 출력 / 오류를 자동으로 텍스트 파일로 푸시하는 데 사용할 수 있습니다. GUI 기반 응용 프로그램을 시작하는 데 주로 사용

javaws : (Java 웹 시작) 분산 웹 애플리케이션을 다운로드하고 실행합니다. 다시 연결된 콘솔이 없습니다.

모두 JRE의 일부이며 동일한 JVM을 사용합니다.


java.exe 는 콘솔과 관련이 있지만 javaw.exe 는 그러한 연관성을 갖지 않습니다. 따라서 java.exe 가 실행되면 출력 및 오류 스트림이 표시되는 명령 프롬프트 창을 자동으로 엽니 다.


에서 http://publib.boulder.ibm.com/infocenter/javasdk/v6r0/index.jsp?topic=%2Fcom.ibm.java.doc.user.aix32.60%2Fuser%2Fjava.html :

javaw 명령에는 java와 동일하지만 javaw에는 연관된 콘솔 창이 없습니다. 명령 프롬프트 창을 표시하지 않으려면 javaw를 사용하십시오. javaw 실행기는 실패하면 오류 정보가있는 창을 표시합니다.

그리고 javaws는 Java 웹 시작 응용 프로그램, 애플릿 또는 내가 의심하는 것과 같은 것입니다.


출력 리디렉션이 javaw에서 작동하는지 확인했습니다.

javaw -cp ... mypath.MyClass ... arguments 1>log.txt 2>err.txt

즉, Java 응용 프로그램이 System.out 또는 System.err을 통해 무언가를 인쇄하는 경우 java (w없이)를 사용하는 경우와 같이 해당 파일로 작성됩니다. 특히 java를 시작할 때 JRE는 오류 출력 파이프에 시작 오류 (클래스를 찾을 수 없음)를 쓸 수 있습니다. 이와 관련하여 오류에 대해 알아야합니다. javaw가 호출되면 언제든지 콘솔 리디렉션을 사용하는 것이 좋습니다.

반대로 사용하면

start java .... 1>log.txt 2>err.txt

Windows 콘솔 시작 명령을 사용하면 콘솔 출력 리디렉션이 java 및 javaw에서도 작동하지 않습니다.

설명, 그 이유 : javaw가 OS에서 내부 프로세스를 열고 (java.lang.Process 클래스를 사용하여 적절 함) 알려진 출력 리디렉션을이 프로세스로 전송한다고 생각합니다. 명령 행에 경로 재 지정이 없으면 경로 재 지정되지 않으며 javaw에 대한 내부 시작 프로세스에 콘솔 출력이 없습니다. java.lang.Process의 동작은 비슷합니다. 가상 머신은이 내부 기능을 javaw에도 사용할 수 있습니다.

'start'를 사용하는 경우 Windows 콘솔은 Windows가 시작 후 명령을 실행하기위한 새 프로세스를 작성하지만이 메커니즘은 불행하게도 시작된 서브 프로세스에 대해 지정된 경로 재 지정을 사용하지 않습니다.

참고 URL : https://stackoverflow.com/questions/8194713/difference-between-java-javaw-javaws

반응형