본문 바로가기

카테고리 없음

eclipse maven nexus build error 점검

SMALL

1. JDK 1.8 : java-1.8.0-openjdk-1.8.0.275-1_32

   JRE 버전이 아닌 JDK 버전이어야 Compile 가능

2. pom.xml 점검

<prohect ,,,,,  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 httos://maven.apache.org.maveb-4.0.0.xsd" >

넥서스 점검

<repositories>  ...

<pluginRepositories>  ...

디펜더시 로컬인지, 서버인지 체크

 

3. window > preferences > maven > user setting 설정 확인

 디펜더시가 로컬에 모두 존재하는지 점검

4. project > properties > java build path > web app Libraries  : WEB/lib

    project > properties > java build path > maven Libraries  : SERVER

    project > properties >  Deploment Assembly > /src/main/java               WEB-INF/ classes

    project > properties >  Deploment Assembly > /src/main/resources      WEB-INF/classes

    project > properties >  Deploment Assembly > /src/main/webapp         /

 

    project > properties >  project Facets> Dynamic Web Module, java, javascript , javaserver faces, jax-rs

 

    project > 마우스 우클릭 >  spring > 옵션

    project > 마우스 우클릭 >  configure > 옵션

 

5. eclipse.ini > -javaagent:c:\eGovFrame\bin\eclipse\lombok.jar

6. Clean install 오류가 발생된 경우

  window. preferences 

 

 .m2 레파지스토리 삭제 후 재빌드

 

1. Maven 프로젝트 설정

Lombok은 Maven 프로젝트의 의존성으로 포함되어 있어야 합니다.

아래 의존성이 pom.xml에 추가되었는지 확인하세요.

pom.xml 
코드 복사
<dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <!-- 최신 버전으로 업데이트 --> <scope>provided</scope> </dependency> </dependencies>

<scope>가 provided로 설정되어야 컴파일에는 포함되지만 최종 빌드 결과물에는 포함되지 않습니다.

 

jnekins 설정

2. Jenkins 빌드 환경 설정

Jenkins는 빌드 시 Lombok의 주석 처리(@Data, @Getter 등)를 인식하기 위해 lombok.jar를 JDK 경로에 추가하거나 빌드 환경에서 제대로 설정해야 합니다.

방법 1: Lombok을 JDK에 추가 (Jenkins의 모든 빌드에서 사용 가능)

  1. Lombok JAR 다운로드
    Lombok 공식 사이트에서 lombok.jar 파일을 다운로드합니다.
  2. JDK 경로에 Lombok 추가
    다운로드한 lombok.jar 파일을 사용 중인 JDK의 lib 디렉토리에 복사합니다.
    • 예: /usr/lib/jvm/java-11-openjdk/lib/lombok.jar
  3. Jenkins 환경 변수 설정
    Jenkins 관리에서 빌드 시 사용하는 JDK에 아래 옵션을 추가합니다.
    • Jenkins > Manage Jenkins > Global Tool Configuration > JDK로 이동.
    • JDK의 "Java Options"에 다음을 추가:
      text
      코드 복사
      -javaagent:/path/to/lombok.jar
    예: -javaagent:/usr/lib/jvm/java-11-openjdk/lib/lombok.jar
  4. JDK , Maven 버전 설정
    1.  Maven setting 설정
    2. 넥서스 서버 연결 점검
  5. 빌드내용 작성시 

mvn clean install -Dmaven.compiler.plugin.version=3.8.1 -Dmaven.compiler.arguments="-javaagent:/path/to/lombok.jar"

 

3. Maven Compiler Plugin 설정

Maven 컴파일러 플러그인의 버전을 최신으로 유지하고, Lombok의 어노테이션을 처리할 수 있도록 설정해야 합니다.

pom.xml에 Maven Compiler Plugin 설정을 추가하거나 확인합니다:

xml
코드 복사
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <!-- 최신 버전 --> <configuration> <source>11</source> <!-- 사용 중인 Java 버전 --> <target>11</target> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <!-- Lombok 버전 --> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build>

 

4. SLF4J 라이브러리 추가

Lombok은 @Slf4j 어노테이션을 통해 log 객체를 자동으로 생성해줍니다. 그러나 SLF4J 라이브러리가 프로젝트에 포함되지 않으면 log 객체가 정의되지 않아 오류가 발생합니다. 이를 해결하기 위해 SLF4J와 적절한 로깅 구현체를 Maven 의존성으로 추가해야 합니다.

Maven 의존성 추가

pom.xml 파일에 다음 의존성을 추가합니다:

xml
코드 복사
<dependencies> <!-- SLF4J API --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>2.0.0</version> <!-- 최신 버전 확인 --> </dependency> <!-- SLF4J 로깅 구현체 (예: Logback) --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.4.4</version> <!-- 최신 버전 확인 --> </dependency> </dependencies>
 

5. jenkins cache 점검

jenkins -> jdk에 설치한곳에 lombok.jar 추가

lombok 실행 권한 확인

jenkins build 스크립트에 lombok.jar 추가

-javaagent:/usr/lib/jvm/java-1.8.0/lib/lombok.jar

 

6. jenkins 시스템 로그 확인

NEXUS

host : 사용자 custom을 위한 jar

proxy : 원격 저장소 ->  인터넷 망에서 다운로드 및 저장하기 위한 저장소, 

   폐쇄망에서는 한계가 있음, 거의 사용  못함

group : host proxy 들을 묶어 놓고 한번에 끌어다 쓰기 위함

 

7. 기타

 

LIST