Eclipse에서 아무런 문제없이 내 Main.java 파일을 컴파일 할 수 있습니다.패키지로 리눅스에서 java 파일을 컴파일하는 방법
내부 Main.java 나는 다른 3 개 개의 파일 내부
package com.selenium.zLoadProfilerPkg;
내가 리눅스에 전체 구조를 업로드 할 때 나는 또한 그러나
package com.selenium.zLoadProfilerPkg;
을 가지고 있고, 나는 그것을 컴파일하려고, I 얻을 오류 : "패키지 com.selenium.zLoadProfilerPkg를,"
[[email protected] zLoadProfilerPkg]$ pwd
/home/sgalkov/zpp_tech_git_checkout/profiler/zLoadProfiler/zLoadProfiler/src/com/selenium/zLoadProfilerPkg
[[email protected] zLoadProfilerPkg]$ cd /home/sgalkov/zpp_tech_git_checkout/profiler/zLoadProfiler/zLoadProfiler/src/com/selenium/zLoadProfilerPkg/; javac -cp ".:/home/sgalkov/zpp_tech_git_checkout/profiler/selenium-2.30.0/selenium-java-2.30.0.jar:/home/sgalkov/zpp_tech_git_checkout/profiler/selenium-2.30.0/libs/*:/home/sgalkov/zpp_tech_git_checkout/profiler/selenium-2.30.0/selenium-server-standalone-2.30.0.jar:/home/sgalkov/zpp_tech_git_checkout/profiler/browsermob-proxy-2.0-beta-7/browsermob-proxy-2.0-beta-7-sources.jar:/home/sgalkov/zpp_tech_git_checkout/profiler/browsermob-proxy-2.0-beta-7/lib/*:/home/sgalkov/zpp_tech_git_checkout/profiler/zLoadProfiler/zLoadProfiler/src/com/selenium/zLoadProfilerPkg" Main.java
Main.java:54: error: cannot find symbol
BrowsermobProxy bmp = new BrowsermobProxy(PROXY_API_HOST, PROXY_API_PORT);
^
symbol: class BrowsermobProxy
location: class Main
Main.java:54: error: cannot find symbol
BrowsermobProxy bmp = new BrowsermobProxy(PROXY_API_HOST, PROXY_API_PORT);
^
symbol: class BrowsermobProxy
location: class Main
Main.java:310: error: cannot find symbol
HarStorage hs = new HarStorage(HARSTORAGE_HOST, HARSTORAGE_PORT);
^
symbol: class HarStorage
location: class Main
Main.java:310: error: cannot find symbol
HarStorage hs = new HarStorage(HARSTORAGE_HOST, HARSTORAGE_PORT);
^
symbol: class HarStorage
location: class Main
4 errors
[[email protected] zLoadProfilerPkg]$
나는 주석 경우 4 개의 파일 각각에서 하나씩 컴파일하면 모든 것이 잘 작동합니다. 또한
, 나는 이런 식으로 컴파일하려고하면 :
cd /home/sgalkov/zpp_tech_git_checkout/profiler/zLoadProfiler/zLoadProfiler/src/com/selenium/zLoadProfilerPkg/;
javac -cp ".\
:/home/sgalkov/zpp_tech_git_checkout/profiler/selenium-2.30.0/selenium-java-2.30.0.jar\
:/home/sgalkov/zpp_tech_git_checkout/profiler/selenium-2.30.0/libs/*\
:/home/sgalkov/zpp_tech_git_checkout/profiler/selenium-2.30.0/selenium-server-standalone-2.30.0.jar\
:/home/sgalkov/zpp_tech_git_checkout/profiler/browsermob-proxy-2.0-beta-7/browsermob-proxy-2.0-beta-7-sources.jar\
:/home/sgalkov/zpp_tech_git_checkout/profiler/browsermob-proxy-2.0-beta-7/lib/*\
:/home/sgalkov/zpp_tech_git_checkout/profiler/zLoadProfiler/zLoadProfiler/src/com/selenium/zLoadProfilerPkg" \
BrowsermobProxy.java HarStorage.java HttpRequest.java Main.java
가 컴파일 않습니다하지만 난 Main.java
rw-r--r-- 1 sgalkov users 1422 Mar 11 20:30 Main$1.class
rw-r--r-- 1 sgalkov users 8264 Mar 11 20:30 Main.class
rw-r--r-- 1 sgalkov users 14864 Mar 11 19:32 Main.java
에 대한 별도의 클래스를 얻고있다 그리고 나는를 실행할 수 없습니다입니다 프로그램에서 오류가 발생합니다.
Exception in thread "main" java.lang.NoClassDefFoundError: Main (wrong name: com/selenium/zLoadProfilerPkg/Main)
at java.lang.ClassLoader.defineClass1(Native Method)
다양한 옵션을 둘러 보았지만이 프로젝트를 컴파일 할 수 없습니다. 그리고 어떤 조언도 감사 할 것입니다.
메인 $ 1.클래스가 "추가"클래스가 아니라면 내부 클래스입니다 (일반적으로). Main.java에 내부 클래스가 있습니까? (심지어 익명의 내부 클래스 일까?) –
또한 클래스 패스를 처리하기위한 작은 스크립트를 작성하고 * nix 셸에서 정기적으로 빌드해야하는 경우에 사용합니다. 또는 ant/maven/etc를 사용할 수도 있습니다. 또 다른 대안은 (당신이 * nix에서 정기적으로 빌드하지 않는다면) Eclipse (Eclipse에서 작동하고 JAR로 내보내기)에서 내보내기 만하면됩니다. IDE에서 내보내기 좋은 습관은 아니지만 일회 또는 매우 드물게 수행해야하는 경우 작동합니다. –
덕분에 내부 클래스가 발견되었습니다 – Kentor