쇼핑몰 만들기 프로젝트 - jitpack 애증, 분노 ~ jdk 17 버전으로 사용해보자

yeom yaloo·2023년 2월 21일
0
post-thumbnail
  1. mvn install 시 에러: pom.xml을 최상단 루트 폴더 아래로 내놓아주었고 이로 첫번째 해결 완
  2. maven wrapper 없는 문제는 https://sanghye.tistory.com/34로 해결


로그를 살펴보면 내가 설정해주었던 메이븐이 아닌것을 파악했고 이를 어떻게 바꾸지 ~ ? 하고 고민하던 도중 이런 저런 시도를 했지만 아래의 위의 문제들을 해결하고(pom.xml이 없어서 mvn 빌드를 못하는 등의 문제...) 포스팅된 방법들도 해결을 했다.


[jdk 17 버전 사용을 위해서]

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <artifactId>common-utils</artifactId>
    <version>v1.0.0</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <JAVA_17_HOME>/Library/Java/JavaVirtualMachines/jdk-17.0.6.jdk</JAVA_17_HOME>
    </properties>


    <dependencies>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.14.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>6.0.4</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.26</version>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>


    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.9.0</version>
                <configuration>
                    <source>17</source>
                    <target>17</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.9.0</version>
                <configuration>
                    <executable>${JAVA_17_HOME}/Contents/Home/bin/javac</executable>
                    <compilerVersion>17</compilerVersion>
                </configuration>
            </plugin>
        </plugins>

    </build>
</project>
  • 메이븐 플러그인 자바 버전 명시를 위해서 jdk를 다운 받고 해당 디렉토리를 직접 넣어주었다.

[jitpack.yml]

jdk:
  - openjdk17
before_install:
  - echo "Before Install"
  - bash ensure-java-17 install
install:
  - echo "Install"
  - if ! bash ensure-java-17 use; then source ~/.sdkman/bin/sdkman-init.sh; fi
  - java -version
  - mvn install
  • 공식 문서에서는 jdk를 사용한다고 명시하는 jitpack.yml을 만들어 사용하라 해서 이것도 일단은 넣어주었다.

[ensure-17-java file]

#!/bin/bash

JV=`java -version 2>&1 >/dev/null | head -1`
echo $JV | sed -E 's/^.*version "([^".]*)\.[^"]*".*$/\1/'

if [ "$JV" != 17 ]; then
	case "$1" in
	install)
		echo "Installing SDKMAN..."
		curl -s "https://get.sdkman.io" | bash
		source ~/.sdkman/bin/sdkman-init.sh
		sdk version
		sdk install java 17.0.6-amzn
		;;
	use)
		echo "must source ~/.sdkman/bin/sdkman-init.sh"
		exit 1
		;;
	esac
fi

로컬레포지토리를 settings.xml에 설정해서 진행했지만 사실 의미 없는 것 같다. 해당프로젝트 설정을 바꾸는거였으니까 ~

profile
즐겁고 괴로운 개발😎

0개의 댓글