에러 문구
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project musicchart: Compilation failure
bad path element "/root/.m2/repository/com/mchange/c3p0/0.9.5.2/mchange-commons-java-0.2.11.jar": no such file or directory 이 문구는 핵심이 아닙니다. 이건 각자 상황마다 다르게 나타날 수 있습니다. bad path element..~ 정도만 똑같을 듯
아무튼 위의 에러문구에 주목!
에러 원인
에러 문구를 해석해보자면 말그대로 본인의 프로젝트명 (필자의 경우 musicchart) 에 설정된 maven-compiler-plugin:2.5.1 버전으로 컴파일하는데 실패했다는 뜻입니다.
즉, 저 컴파일을 돌리고 있는 서버에 설치된 메이븐 버전을 확인해보세요.
# mvn -version
Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 11.0.8, vendor: Ubuntu, runtime: /usr/local/java-11-openjdk-amd64
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "5.3.0-1019-aws", arch: "amd64", family: "unix"
root@musicprogram:/home/ubuntu/app/step1/MusicProgram# cd ..
root@musicprogram:/home/ubuntu/app/step1# ./deploy.sh
저는 3.6.0 으로 나오군요.
하지만, 프로젝트의 pom.xml에 명시된 maven complier 버전은 2.5.1 로 되어 있었습니다.
그러니깐 위에서 저런 에러가 떴겠죠?
해결 방법
이렇게 메이븐 컴파일러 버전을 서버에 설치된 컴파일러 버전과 똑같이 바꿔주니 해결되었습니다.
다시 프로젝트 컴파일을 시도해보니, 3.6.0 버전의 컴파일러로 바뀌면서 성공적으로 빌드되는 걸 볼 수 있습니다.
필자는 여기에 주목 안하고 mchange-commons-java-0.2.11.jar 가 없다는 문구에만 집중해서 pom.xml 에 mchange 관련 dependency 추가하기도 하고.. 저 jar파일을 톰캣 구동 시, 읽지 않고 넘어가도록 jarScan을 skip하는 설정을 tomcat의 context.xml에 설정하기도 하고 별짓 다했지만 아무것도 안통했다는..
깊게 파고 싶지 않아서 (지쳐서..) 정확히는 모르겠지만,
유추하기에는 mchange-commons-java-0.2.11.jar 파일을 다운받지 못한 이유는
서버에 설치된 3.6.0 버전으로는 다운받을 수 없는 2.5.1 버전만의 jar 파일이지 않았나 싶습니다. (혹은 그 반대거나)
'Linux' 카테고리의 다른 글
[linux 에러] JAVA_HOME should point to a JDK not a JRE (0) | 2020.09.30 |
---|---|
웹 배포를 위한 Spring + MySQL 세팅하기 (0) | 2019.12.31 |
리눅스 서버 설치기 4 - 원격 컴퓨터와 서버컴퓨터 사이에 Git을 이용하여 실시간 파일 주고 받기 (0) | 2019.12.31 |
리눅스 서버 설치기 - 3. Apache 설치 및 Tomcat 연동 (1) | 2019.12.25 |
리눅스 서버 설치기 - 2. Tomcat (4) | 2019.12.24 |