'The server cannot be started because one or more of the ports are invalid. Open the server editor and correct the invalid ports.'

 

새로운 스프링 프로젝트를 생성 및 등록하고 톰캣을 실행하려고 하니 해당 에러가 발생했습니다.
실행시킨 톰캣의 포트가 유효하지 않아 발생된 에러로 아래와 같이 해결해 주시면 됩니다.

 

 

1. 'Server' 탭의 톰캣 더블클릭 

 

 

2. 'Ports'의 'Tomcat admin port' 및 'HTTP/1.1' 포트가 입력 됬는지 확인

 -> 보통 새로 설정 하면 'Tomcat admin port'가 '-' 로 설정되있는 경우가 있어 위의 에러가 발생 합니다.

 

 

 

3. 정상적으로 실행된 톰캣입니다.

Window환경에 PostgreSQL과 pgAdmin을 설치하고 pgAdmin 접근 까지의 예제입니다.

 

 

1. 아래 링크에 들어가 그림1-1의 버전 스펙 표를 참고하여 원하시는 버전을 선택 해주세요.

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

 

 

PostgreSQL Database Download

Please Note: EDB no longer provides Linux installers for PostgreSQL 11 and later versions, and users are encouraged to use the platform-native packages. Version 10.x and below will be supported until their end of life.

www.enterprisedb.com

 

그림 1-1

 

 

 

2. 설치 파일을 실행 시키시고 그림 2-3과 같이 패키지에 포함된 컴포넌트들을 선택 해주세요.

   저는 pgAdmin 까지 사용을 하기 위해 모두 선택 하고 진행 하겠습니다.

   그림 2-5는 비밀번호를 설정 하는 부분이고 mysql&mariadb 와는 다르게 super user가 root가 아니라

   postgres입니다.

   그림 2-6은 포트를 설정하는 부분인데 다른 DB와는 다르게 3306포트를 하용하지 않고 5432를 사용합니다.

   그림 2-7은 Locale을 설정 하는건데 서버 스펙에 따라 설정 해주세요. 저는 default를 선택 했습니다.

   

그림 2-1
그림 2-2
ㅐ킺그림 2-3
그림 2-4
그림 2-5
그림 2-6
그림 2-7

 

그림 2-8
postg그림 2-9
그림 2-10 

 

 

 

3. 설치가 완료되면 pgAdmin 4를 실행 하시거나 아래 링크로 접근 해주세요.

   로그인 화면에서 super user 계정명과 비밀번호를 입력 하시면 그림 3-2와 같이 생성된 DB를 확인 할 수 있습니다.

 

* http://127.0.0.1:50835/browser/

 

그림 3-1
그림 3-2

Spring 프로젝트를 구동하기 위해 톰캣을 추가 하려 할 때 'The name is already in use. Specify a different name.'

에러가 발생 했습니다.

보통 서버를 추가 했다 삭제 했을때 'org.eclipse.wst.server.core' 파일에 반영이 제대로 되지 않았을 때 발생합니다.

 

{workspace}/.metadata/.plugins/org.eclipse.core.runtime/.settings 경로에 접근하여 'org.eclipse.wst.server.core'

파일을 삭제 하거나 아래처럼 삭제 되지 않은 서버를 지워주세요.

 

 

 

'Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다'

 

잘 돌아가던 서버가 수정도 안 했는데 404에러가 발생하면, 톰캣 서버 Web module 의 path를 수정 해주시면 됩니다.

* 현재 아래 그림의 수정이 완료된 상태입니다. 

아래 그림2-1 처럼 올려야 할 프로젝트를 선택 하고 edit를 눌러주세요. 그리고 필요한 path를 입력 하시면 됩니다.

Spring 프로젝트를 진행 중이시라면 ' / ' 로 하시면 됩니다.

 

ps. 그나저나 저 HTTP 에러 상태 페이지를 영어로 보여지게 할 수 없나요 ㅇ_ㅇ? 

스프링 프로젝트를 구동 시키기 위해 톰캣 서버에 프로젝트를 추가 하려고 하는데 아래와 같은 에러가 발생 했습니다.

'Tomcat version 8.5 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5, 6, and 7 Web modules '

해당 에러는 톰캣, 자바, 웹 모듈 버전 등 서버 관련 버전이 맞지 않기 때문입니다.

저 같은 경우는 servlet 4.0을 사용하려고 헀는데 톰캣 8.5를 사용 하기 때문에 발생 했습니다.  

 

위의 표를 확인하고 프로젝트 생성 전에 버전을 맞추시거나, Project Facets에서 버전을 수정해주시면 됩니다.

 

Could not delete /.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/appname/WEB-INF/lib. May be locked by another process


잘 돌아가던 서버가 퇴근하고 출근하니 위에 에러가 뜨면서 실행이 되지 않았습니다.ㅠㅠ

그래도 구글링 하니 간단한 방법으로 해결이 가능해서, 다른 분들에게 도움이 되고자 포스팅 합니다!

 

톰캣이 실행될때 이전에 올라간 tmp0 폴더의 파일들이 삭제되지 않아서 생기는 문제인것 같습니다.

1. 우선 server 의 사용 하시는 톰캣 우클릭->그림(2)와 같이 'Clean' 과 'Clean Tomcat Work Directory'를 실행 해주세요.

그림(1)
그림(2)

 

 

 

2. 저 같은 경우는 위 두번의 Clean을 진행 하였을때 다시 서버 실행이 가능 했습니다.

   하지만 그래도 실행이 되지 않는다면, org.eclipse.wst.server.core 디렉토리의 tmp0 폴더를 삭제 해주시면 됩니다.

   사용자 마다 경로가 다를 수 있지만, 워크스페이스/.metadata/.plugins/org.eclipse.wst.server.core 는 동일하니, 

   해당 폴더에 있는 tmp0 폴더를 삭제 하신 다음, 위에 두가지 Clean을 다시 실행 하시면 문제가 해결 됩니다 :)

 

 

개인 프로젝트를 진행하기 위해서 DB를 구축해야 할 필요성을 느꼈습니다.

어떤 DB를 사용할지 고민을 하다가 개인 프로젝트에는 mariaDB 가 가장 적합하다 생각했습니다.

mariaDB는 Mysql 의 제작자들이 해당 DB를 기반으로 새로운 DBMS를 개발 하였습니다. 

보통 mariaDB를 Mysql의 자매품이라고 부르는데, 그만큼 호환성이 좋고 Mysql 기능들을 mariaDB에서 사용할 수 있습니다. 


설치 작업을 진행 하겠습니다. 아래 url에서 필요하신 버전을 선택 하시고 설치 파일을 다운로드 해주시기 바랍니다.


https://downloads.mariadb.org/






























우선 DB root권한 접근에 사용될 비밀번호를 입력 해주세요.

그리고 저는 개인 프로젝트를 진행할 때 DB서버를 구축해놓고 원격으로 관리를 하려고 합니다. 

그래서 'Enable access from remote machines for 'root' user' 를 체크 하였습니다.

그리고 서버에서도 default Encoding을 UTF-8로 사용할 예정이기 때문에 'Use UTF8 as default server's character set'도 체크 하였습니다.

























설치가 종료된 후 잘 완료 되었는지 확인 하기위해 mariaDB에 직접 접근 해보려고 합니다.

파일 검색에서 'MySQL Client (MariaDB 10.3(x64)) 를 실행 해주세요.









아래처럼 비밀번호 입력 하라는 콘솔을 뜨면, 설치 당시 입력 하셨던 비밀번호를 입력 해주시면 됩니다.







비밀번호를 올바르게 입력하시면 로칼 DB 서버에 접속하게 됩니다.












스프링 프로젝트에 톰캣을 설정하려고 합니다.

참고하시는 분들의 PC에 이미 톰캣이 설치 되어 있다고 가정하겠습니다.(in Program Files or anywhere)





이클립스에서 프로젝트를 생성 하듯이 File -> New -> server 검색을 하고 다음 버튼을 눌러주세요.









준비하신 톰캣의 버젼에 맞게 선택 해주세요. 저는 8.0버전이라 Tomcat v8.0 Server를 선택 하였습니다. 그리고 다음 버튼을 눌러주세요.










Tomcat Installation Directory 는 준비하신 톰캣 폴더로 정해주시고,

JRE에는 해당 프로젝트에서 사용하실 jdk 로 정해주시면 됩니다. 그리고 Finish 버튼을 눌러주세요.








서버 생성은 완료 되었고 웹 서버 사용이 필요하신 프로젝트를 서버 작동을 위해 포함 해주세요.









그리고 생성된 서버의 server.xml 파일에서 path를 "/" 로 바꿔주세요.

물론 사용하시는 분에 따라서 해당 내용은 변경되야 할 필요가 있습니다.






java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException

에러는 pom.xml 이나 web.xml 잘 못 건드렸을떄, 또는 아무런 이유없이... 발생 됩니다.

(세개 모두 직접 겪어 봤습니다ㅠㅠ)


이 에러를 해결하기 위해서 이 방법들을 사용했습니다.

이 순서로 한 번 진행 해보세요




1. 프로젝트를 clean 해줍니다.

   * 상단 메뉴 -> 'Project' -> 'Clean' -> All projects or 해당 프로젝트 선택


2. Tomcat server를 Clean

   * Server 의 동작을 원하는 서버를 선택 후 우클릭 하시면 clean 메뉴가 있습니다.


3. 현재 사용중이 Tomcat 폴더의 servlet-api.jar을 사용중인 jdk lib에 붙여넣습니다.

   * 


4. Maven Repository의 javax servlet를 삭제 후 업데이트 합니다.


5. Maven Repository의 모든 폴더 삭제 후 업데이트 합니다. 

   * 프로젝트 -> 우클릭 -> Maven -> Update Project


6. javax.servlet-api 버젼을 3.1.0 으로 설정

   * pom.xml 에서 해당 dependency  에서 설정 해주면 됩니다.


7. 톰캣 폴더를 통째로 삭제 후 재설치




저는 이 방법을 사용 했을때 다행이도 해결이 되었습니다.

다른 분들도 꼭 해결 하시길... 바랍니다 :-)


+ Recent posts