2013-02-17 4 views
-1

자바에서 약간의 명령 행 프로그램을 만들었습니다. main 메소드에서 인스턴스화되고 사용되는 클래스가 있습니다. 그러나 커맨드 라인에서 컴파일 할 때 실행해야하는 클래스를 '보지 못합니다'. 런타임시 전달 된 인수를 허용합니다. Netbeans에서 설정할 수 있으며 아름답게 실행됩니다. 하지만 명령 줄에서 사용할 수 있기를 원합니다. jar-ing을 시도했는데 예외가 발생하고 main에서 인스턴스를 생성하는 클래스가 표시되지 않습니다. 저는 CS 프로그램에서 Java를 사용 했었지만 제 교수는 특정 깊이로 배치를 다루지 않았습니다.Java 응용 프로그램에 필요한 클래스를 표시하려면 어떻게합니까?

내 피클에서 나를 도울만한 아이디어가 있습니까?

감사합니다.

+0

사람들에게 도움이되는 정보가 많지 않으므로 예외를 게시하고 특정 문제에 대한 질문에 집중하는 것이 좋습니다. http://stackoverflow.com/faq#questions –

+0

SO 스레드 [netbeans를 사용하여 실행 .jar 파일을 만드는 방법] (http://stackoverflow.com/questions/1946394/how-to-create-executable-jar-file -with-netbeans)은 좋은 출발점입니다. – Perception

+0

다음은 오류의 일부입니다. java.lang.ClassLoader.defineClass에서 java.lang.ClassLoader.defineClass1 (기본 방법) (ClassLoader.java에서 : (나이/ 전자 잘못된 이름) : 스레드 ception "기본"java.lang.NoClassDefFoundError가 나이 : java.net.URLClassLoader.access $ 100 (java.net.URLClassLoader.defineClass (URLClassLoader.java:449에서 SecureClassLoader.java:14 ) java.security.SecureClassLoader.defineClass (URLClassLoader.java:71에서 791) ) at java.net.URLClassLoader $ 1.run (URLClassLoader.java:361) at java.net.URLClassLoader $ 1.run (URLClassLoader.java:355) –

답변

0

두 클래스 중 하나에 패키지가 있습니까? 그들이하는 경우, 그들은 "패키지"의 첫 번째 진술을하고, 차이가 있습니다.

적어도 Age 클래스에 패키지가 있다고 가정하겠습니다. 패키지를 'a'라고 부릅니다.

"Alex"의 주요 클래스를 추가로 가정 해 보겠습니다. 그것은 "import a.age;"라는 import 문을 가질 것입니다.

"george"라는 디렉토리에 있다고 가정합니다.

Alex.java 파일 (패키지 문없이)은 george에 있어야합니다. Age.java는 george라는 이름의 디렉토리 아래에 있어야합니다.

"javac Alex"명령으로 주 파일을 컴파일 할 수 있으며 "java Alex"로 실행할 수 있습니다.

문제에 대해 자세히 설명해 주시면 필요한 내용을 구체적으로 설명해드립니다.

+0

Netbeans에서 만든이 패키지는 Age라는 패키지에 들어 있습니다. 나이 계산을 수행하는 클래스는 Anage라고하고 클래스는 main 함수는 Age 클래스에있다. netbeans에서 작동하지만 명령 행에서 작동하도록 할 수는 없습니다. –

+0

그래서 주요 메소드 클래스는 Age이고 특수 클래스는 Anage이며 둘 다 패키지 시대입니다. –

+0

메인 클래스를 식별하는 매니페스트가있는 jar 파일을 만들고 java -jar age.jar을 실행하려고하면 다음 오류가 발생합니다. C : \ jprac \ age> java -jar age.jar 스레드의 예외 " main "java.lang.NullPointerException at sun.launcher.LauncherHelper.getMainClassFromJar (LauncherHelper.java:3 99) at sun.launcher.LauncherHelper.checkAndLoadMain (LauncherHelper.java:463) –