• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

maven 프로젝트 빌드 오류

23.08.21 15:05 작성 조회수 296

0

현재 maven 프로젝트를 하는데 오류가 나고 있습니다.

질문. jdk11 버전의 폴더 권한이 root로 되어있는데

jenkins_home의 사용자는 jenkins 로 되어있습니다.

이게 문제가 될수도 있을까요?

 

오류로그

[Second-Project] $ /opt/java/openjdk/bin/java -cp /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven35-agent-1.14.jar:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.23/boot/plexus-classworlds-2.6.0.jar:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.23/conf/logging jenkins.maven3.agent.Maven35Main /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.23 /var/jenkins_home/war/WEB-INF/lib/remoting-3107.v665000b_51092.jar /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven35-interceptor-1.14.jar /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.14.jar 34003
<===[JENKINS REMOTING CAPACITY]===>channel started
Aug 21, 2023 5:24:10 AM hudson.remoting.UserRequest perform
WARNING: LinkageError while performing UserRequest:hudson.maven.Maven3Builder@2153b8c4
java.lang.UnsatisfiedLinkError: /opt/java/openjdk/lib/libawt_xawt.so: libXext.so.6: cannot open shared object file: No such file or directory
	at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
	at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2445)
	at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2501)
..생략...2.run(Request.java:377)
	at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

ERROR: Failed to parse POMs
java.io.IOException: Remote call on Channel to Maven [/opt/java/openjdk/bin/java, -cp, /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven35-agent-1.14.jar:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.23/boot/plexus-classworlds-2.6.0.jar:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.23/conf/logging, jenkins.maven3.agent.Maven35Main, /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.23, /var/jenkins_home/war/WEB-INF/lib/remoting-3107.v665000b_51092.jar, /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven35-interceptor-1.14.jar, /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.14.jar, 34003] failed
	at hudson.remoting.Channel.call(Channel.java:1004)
	at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:162)
	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:877)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:526)
	at hudson.model.Run.execute(Run.java:1900)
	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
	at hudson.model.ResourceController.execute(ResourceController.java:101)
	at hudson.model.Executor.run(Executor.java:442)
Caused by: java.lang.UnsatisfiedLinkError: /opt/java/openjdk/lib/libawt_xawt.so: libXext.so.6: cannot open shared object file: No such file or directory
	at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
	at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2445)
	at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2501)
	at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2700)
...생략  .run(Executor.java:442)
channel stopped
Finished: FAILURE

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.08.23

안녕하세요, 인프런 AI 인턴이에요.

maven 프로젝트를 진행하면서 빌드 오류가 발생하는 문제로 보입니다. 오류 로그를 보면 JDK 11 버전의 폴더 권한이 root로 되어있는데 jenkins_home의 사용자는 jenkins로 되어있습니다.

문제의 원인은 JDK 11의 폴더 권한과 jenkins_home의 사용자가 일치하지 않는 것으로 예상됩니다. 이러한 경우 권한 설정의 문제로 오류가 발생할 수 있습니다.

해결 방법으로는 다음과 같은 절차를 시도해보실 수 있습니다.

  1. JDK 11의 폴더 권한을 jenkins 사용자로 변경해보세요. 이를 위해 root 권한으로 접속한 후 chown 명령어를 사용해서 폴더의 소유자를 변경할 수 있습니다.

  2. Jenkins 서비스가 실행되는 사용자의 환경 변수 설정을 확인하세요. Jenkins가 실행되는 사용자의 .bashrc 또는 .profile 파일에 JAVA_HOME 환경 변수 설정이 되어있는지 확인해보세요. 필요한 경우 설정을 추가해주세요.

  3. Maven이 정상적으로 설치되어 있는지 확인하세요. Maven의 설치 경로나 환경 설정 파일에 문제가 있을 수 있으므로, 설치 경로와 설정 파일을 다시 확인해보세요.

오류 로그에 보이는 UnsatifiedLinkError는 libXext.so.6 라이브러리 파일을 찾지 못해서 발생하는 것으로 보입니다. 이는 JDK에서 X11의 확장 기능을 사용하여 그래픽을 표시하기 위해 필요한 라이브러리입니다. 해당 라이브러리가 설치되어 있는지 확인하고, 필요한 경우 설치해보세요.

위의 방법들을 시도해도 문제가 해결되지 않는다면, 더 자세한 정보를 제공해주시거나 JDK 및 Jenkins의 버전 정보, 프로젝트 설정 등을 공유해주시면 더욱 정확한 도움을 드릴 수 있을 것입니다.

프로젝트 진행에 도움이 되었으면 좋겠습니다. 더 궁금한 점이 있으시면 언제든지 물어보세요. 좋은 결과가 있기를 바랄게요!