You cannot see this page without javascript.

tomcat error

Server 조회 수 329 추천 수 0 2014.11.11 12:51:08

어제부터 신규로 웹서버를 셋팅하던 중 평소에는 만나지 못했었던 아래와 같은 오류를 만나고 말았다.

 

in the generated java file Only a type can be imported. 패키지명.클래스명 resolves to a package

 

클래스파일에서 특정 클래스를 임포트를 할때는 문제가 없는데,

JSP 에서 직접 임포트를 하면 이런 에러가 난다.

 

근데 특이한건 java 기본 클래스들은 정상적으로 임포트가 된다.(예: java.util.List)

또한 웹루트 바로 아래에 있는 JSP에서는 정상동작하는게, 한단계 폴더 아래로만 들어가면 똑같이 에러가 난다.

예)

도메인/test.jsp   => 정상

도메인/a/test.jsp  => 에러

 

참 별일이다.

분명 로컬에서 이클립스에서 돌릴때는 잘 돌았는데, 서버에 올리니깐 이런 에러가 떨어지니깐 정말 돌아버리는줄 알았다.

 

근데 스프링 컨트롤러 타는건 잘 돌아간다.

jsp에서 직접적으로 해당 클래스를 호출하는건 왜 해당 패키지 경로를 못 찾겠다는 에러를 뱉는걸까...??

로컬에서 작업하던거 그대로 복사해서 올렸는데.....해당 경로에 클래스도 다 있는데...왜 이러지??

 

정작 만 하루를 삽질한 결과 해결했다!!!!!!

 

 

원인은 톰캣의 server.xml 에 있었다.

웹서버(centos 64bit)의 톰캣 버전은 6.0.29

 

난 사실 평소에 아래처럼 설정했었다.

(<host 밑에 context 를 넣고 했다. 어차피 한 서버에 한개만 돌릴꺼니깐)

 

웹루트가 /home/abcd/web 라는 가정일때

예)

<Host name="localhost"  appBase="/home/abcd/web"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
          <Context path="" docBase="/home/abcd/web" debug="0" reloadable="true"></Context>

 

혹은

<Host name="localhost" appBase="/home/abcd/web"
     unpackWARs="true" autoDeploy="true"
     xmlValidation="false" xmlNamespaceAware="false">
     <Context path="" docBase="." debug="0" reloadable="true"></Context>

 

 

 

이런식으로 했었는데......

위와 같은 에러가 났던것이다.

 

원인은 해당 경로를 내가 원하는대로 못 찾는것

즉 설정 방법이 잘못되었던것.

(근데 로컬에서는 저렇게 해도 잘 돌더만 -_-+ 예전 서버도 저렇게 쓰고 있었는데...)

 

뭐 아무튼 context 설정 하는 방법은 여러가지가 있지만 난 이렇게 바꿔봤다.

 

<Host name="localhost" appBase="/home/abcd"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="web" debug="0" reloadable="true"></Context>

 

사실 appBase 란 웹루트이며, docBase 는 appBase 바로 밑에 해당 폴더(프로젝트)명이다.

이게 기본 원칙이다.

그래서 여러개의 프로젝트를 돌릴때는 아래와 같이 한단다.

 

<Host name="localhost" appBase="/home/abcd"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="web1" debug="0" reloadable="true"></Context>

<Context path="web2" docBase="web2" debug="0" reloadable="true"></Context>

 

그래서 위와 같이 설정 했을때 해당 URL을 호출할때는

도메인/~ 하면 web1 프로젝트로,

도메인/web2/~ 하면 web2 프로젝트로 호출된다고 한다.

 

 

그럼 나는 아래와 같이 하면 되겠네???

 

<Host name="localhost" appBase="/home/abcd"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="web" debug="0" reloadable="true"></Context>

 

와~ 진짜 된다!!!!!!!!!!!!대박

근데 잘 돌아는가는데 한가지 문제가 생겼다.

톰캣 START시 실행되는 커넥션풀 생성이 두번 이루어 지는것이었다.

 

으잉???

 

왜 두번이나 돌까??

난 정말 이유는 잘 모르겠다.

(아마도 appBase를 한번 탐색하고, context 를 한번 탐색하는건 아닐런지 조심히 추측해본다...-_-;; 절대 아니겠지만..)

 

 

그래서 한번 아래처럼 바꿔봤다.

(appBase 를 빼버리고, docBase 에 풀 경로 셋팅)

 

<Host name="localhost"  
                unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
   <Context path="" docBase="/home/abcd/web" debug="0" reloadable="true"></Context>

 

 

 

오오오오~~ 잘 돌아간다~!!!

톰캣 시작시 커넥션풀 두번 실행되던 문제도 한번으로 해결됐다.

 

솔직히 이렇게 해도 되는진 모르겠지만... 일단 돌아는가니 이대로 진행하자........-_-;;;

 

만 하루 삽질끝에 그래도 성공해서 뿌듯하다. ㅠㅠ

이게 다 경험이 되겠지ㅜㅜ

 

그래서 포스팅 해놔야지~ 나 같은 사람 다신 없기를~

엮인글 :
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
69 Linux iconv 이용 문자셋 일괄 변경 LynX 2016-07-21 330
» Server tomcat error LynX 2014-11-11 329
67 Linux Fedora20 바탕화면 아이콘 설정 file LynX 2014-06-27 326
66 Xpress Engine xe 서버이전 LynX 2014-07-10 324
65 Linux GLIBCXX LynX 2014-07-02 323
64 Linux MAME file LynX 2016-09-28 320
63 HardWare PacketTracer60_Build45 file LynX 2013-09-28 317
62 Linux 01 - 정규식과 표현 LynX 2012-11-29 317
61 Linux PDO_MYSQL 설치 [8] LynX 2014-08-01 310
60 Linux 03 - VMware,네트워크,VMware인터넷설정,리눅스인터넷 file LynX 2012-11-29 305
59 Windows7 에서 시스템을 백업/복원하는 가장 쉬운 방법!! file LynX 2010-11-07 303
58 CentOS7 ▒ Doly의 CentOS7 강좌15 5. CentOS 기본설정 2 - 날짜 및 시간설정 file [6] LynX 2014-10-23 300
57 Programing print script LynX 2013-12-11 300
56 LinuxMint LinuxMint PHP source 설치 [1] LynX 2014-12-30 297
55 Server Windows7에 Apache 설치 file LynX 2013-09-05 297
54 Linux 10 - NFS,apache file [10] LynX 2012-11-29 296
53 Linux [Linux] 특정 계정만 su -(root)를 통한 root접근 허용 LynX 2014-07-04 294
52 Programing cab파일에 인증서 포함하기 LynX 2014-06-13 293
51 Linux cinnamon [10] LynX 2014-12-11 287
50 Linux Linux Apache 2.4 설치 LynX 2014-06-27 286

XE Login