2011-11-26 2 views

답변

5

배치 파일에 다음 줄이 포함되어 있어야합니다

java MyProgram param1 param2... 

을하고 그게 다에요. 시작되면 프로그램에서 스캐너를 사용하여 매개 변수를 묻는 메시지를 표시 할 수 있습니다 (example 참조).

+2

좋은 접근 방식. 3 가지 주요 플랫폼에서 복잡한 시작 스크립트를 다루는 번거 로움을 피할 수 있습니다. –

5

일괄 프로그램에서 Java 프로그램 요청을 입력하는 대신 입력을 시도하는 것이 더 합리적이라는 이전 답변에 동의합니다.

운영체제를 실행하고 싶지 않아 배치 파일이나 스크립트 파일에 약간의 차이가 있습니다.

다른 점은 시스템의 런타임 환경과 "기본 디렉토리"가 중요한지 여부입니다.

Java 런타임을 호출하려면 시스템이 'java'를 프로그램 이름으로 인식해야합니다. Windows와 Unix (그리고 Mac에서는 생각합니다)에서는 'path'변수를 사용합니다. 경로는 시스템이 명령을 검색 할 디렉토리를 나열하는 명령 행 처리기에서 사용 가능한 "시스템 변수"입니다. 모든 시스템 사용자가 명령 줄에서 "java"를 사용할 수 있으려면 경로를 전역으로 설정해야하며 스크립트는 그렇게 할 수 없습니다. 스크립트 외부에서 설정하는 방법을 찾아야합니다.

스크립트는 시스템의 절대 위치에서 java를 호출 할 수 있지만 물론 다른 컴퓨터는 다른 값을 가질 수 있습니다. 주어진 시스템에서 스크립트를 실행하기 위해 경로가 올바르게 설정되도록 요구하는 것이 가장 일반적인 대답 일 수 있지만 문제를인지하고 있어야합니다.

대부분의 시스템에는 실행중인 프로그램의 "기본 디렉토리"라는 개념이 있습니다. Java 프로그램이 "MyData.txt"파일을 열면 Java 런타임은 기본 디렉토리에서이 파일을 찾습니다. ".. \ MyData.txt"가 열리면 형제 디렉토리에서 Windows 시스템의 기본값 (백 슬래시 참고) 등을 찾습니다. 시스템 고유의 경향이 있지만 절대 경로에서 파일을 열 수 있습니다 . 따라서 프로그램이 한 종류의 시스템에서만 실행되거나 일반적인 방식으로 파일을 처리 할 것으로 기대되지만 프로그램을 실행하기위한 스크립트를 작성하기 시작한 경우 문제를 알고 있어야합니다. 개발을 위해 설정 한 방식대로 실행되는 프로그램보다 실망스러운 프로그램은 거의 없습니다. 특히 다른 프로그램 환경에서 실행하는 것을 거부하는 경우가 있습니다. 특히 이러한 잠재적 함정을 인식하지 못하는 경우에는 더욱 그렇습니다.

또한 프로그램이 주로 UI 프로그램 (포인트 앤 클릭 인터페이스가있는 프로그램)인지 아닌지도 알려주지 않습니다. 당신은 또한 그러한 프로그램을 패키지화하는 방법이 있다는 것을 알아야한다. 그래서 시스템에 마우스로 클릭하여 실행할 수있는 아이콘으로 나타날 수있다.

관련 문제