تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

نصب Apache Maven بر روی اوبونتو با JDK 17، SDKMAN و اتوماسیون CI/CD


۲۴ دی ۱۴۰۴

خلاصه کنید:

openaigeminiperplexity

Apache Maven یکی از ابزارهای اصلی در اکوسیستم جاوا برای ساخت (Build)، مدیریت وابستگی‌ها و استانداردسازی پروژه‌ها محسوب می‌شود. این ابزار با تکیه بر قراردادهای مشخص و ساختار یکپارچه، به توسعه‌دهندگان کمک می‌کند فرآیند ساخت پروژه‌های جاوا را به‌صورت قابل‌پیش‌بینی، تکرارپذیر و سازگار با محیط‌های تیمی و سازمانی مدیریت کنند.

در این راهنما، فرآیند نصب Apache Maven روی سیستم‌عامل اوبونتو را بررسی می‌کنیم و علاوه‌بر آن، به پیکربندی JDK 17، مدیریت نسخه‌ها با SDKMAN و آماده‌سازی محیط برای استفاده در Pipelineهای CI/CD و Docker می‌پردازیم. هدف این مقاله صرفا نصب یک ابزار نیست، بلکه ایجاد یک محیط توسعه‌ی پایدار و حرفه‌ای است که در پروژه‌های واقعی قابل استفاده باشد.

با سرور اوبونتو لیارا، سرور خود را با هزینه به‌صرفه و بالاترین کارایی مدیریت کنید.
✅ استقرار سریع ✅ منابع بهینه ✅ امنیت پیشرفته
خرید سرور مجازی اوبونتو ساعتی لیارا

آنچه در ادامه خواهید خواند:

  • نکات کلیدی قبل از شروع
  • پیش‌نیازها
  • نصب JDK 17 روی اوبونتو
  • روش‌های نصب Apache Maven
  • پیکربندی متغیرهای محیطی در سطح سیستم
  • تأیید نصب و ساخت نمونه پروژه
  • Maven در محیط‌های CI/CD
  • استفاده از Maven در Docker (Production-ready)
  • فایل settings.xml در Maven
  • جمع‌بندی

نکات کلیدی قبل از شروع

پیش از شروع نصب، توجه به نکات زیر اهمیت دارد:

  • JDK 17 یکی از نسخه‌های LTS جاوا است که پایداری بالا و پشتیبانی بلندمدت دارد و انتخاب رایج تیم‌های حرفه‌ای محسوب می‌شود.
  • Apache Maven 3.9.9 در زمان نگارش این مقاله، آخرین نسخه‌ی پایدار Maven است و سازگاری کاملی با JDK 17 و ابزارهای CI/CD دارد.
  • Maven را می‌توان به روش‌های مختلفی نصب کرد؛ از نصب ساده با APT گرفته تا مدیریت نسخه با SDKMAN یا استفاده در محیط‌های خودکار و کانتینری.

پیش‌نیازها

برای دنبال‌کردن این راهنما، موارد زیر مورد نیاز است:

  1. یک سیستم مبتنی بر اوبونتو 20.04 یا جدیدتر
  2. آشنایی پایه با خط فرمان لینوکس و دسترسی sudo
  3. نیاز به نصب JDK 17 برای اجرای Maven و ساخت پروژه‌های جاوا

نصب JDK 17 روی اوبونتو

ساده‌ترین و متداول‌ترین روش نصب JDK 17 استفاده از مخازن رسمی اوبونتو است:

sudo apt update

sudo apt install openjdk-17-jdk

پس از نصب، متغیر محیطی JAVA_HOME را تنظیم کرده و به PATH اضافه کنید (در فایل ~/.profile یا ~/.bashrc):

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

export PATH="$JAVA_HOME/bin:$PATH"

برای اعمال تغییرات:

source ~/.profile

و بررسی نسخه:

java -version

نصب اختیاری JDK از Tarball (Temurin)

در محیط‌هایی که کنترل دقیق‌تری روی نسخه‌ی جاوا نیاز است، می‌توان از بسته‌های Temurin استفاده کرد:

wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.10+7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz

tar -xvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz

sudo mv jdk-17.0.10+7 /opt/jdk-17

تنظیم متغیر محیطی:

export JAVA_HOME=/opt/jdk-17

export PATH="$JAVA_HOME/bin:$PATH"

روش‌های نصب Apache Maven

در ادامه قرار است تا روش‌های موجود در نصب Apache Maven را شرح دهیم تا شما بتوانید بهتر این روند را ادامه دهید.

نصب Maven از طریق APT

این روش سریع است، اما معمولاً نسخه‌ی Maven موجود در مخازن اوبونتو به‌روزترین نسخه نیست:

sudo apt update

sudo apt install maven

بررسی نصب:

mvn -version

نصب Maven از باینری رسمی Apache (روش پیشنهادی)

برای استفاده از آخرین نسخه‌ی پایدار Maven:

wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz

tar -xvf apache-maven-3.9.9-bin.tar.gz

sudo mv apache-maven-3.9.9 /opt/

تنظیم متغیرهای محیطی:

export M2_HOME=/opt/apache-maven-3.9.9

export PATH="$M2_HOME/bin:$PATH"

نصب Maven با SDKMAN

SDKMAN ابزاری کاربردی برای مدیریت هم‌زمان نسخه‌های مختلف SDK (مانند Java و Maven) است:

curl -s "https://get.sdkman.io" | bash

source "$HOME/.sdkman/bin/sdkman-init.sh"

sdk install maven 3.9.9

پیکربندی متغیرهای محیطی در سطح سیستم

برای اعمال تنظیمات به‌صورت سراسری:

sudo tee /etc/profile.d/maven.sh >/dev/null << 'EOF'

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

export M2_HOME=/opt/apache-maven-3.9.9

export PATH="$JAVA_HOME/bin:$M2_HOME/bin:$PATH"

EOF

sudo chmod +x /etc/profile.d/maven.sh

تأیید نصب و ساخت نمونه پروژه

java -version

mvn -version

ایجاد پروژه‌ی نمونه:

mvn archetype:generate \

  -DgroupId=com.example \

  -DartifactId=hello-world \

  -DarchetypeArtifactId=maven-archetype-quickstart \

  -DinteractiveMode=false

ساخت پروژه:

cd hello-world

mvn compile

mvn package

Maven در محیط‌های CI/CD

در Pipelineهای CI/CD، Maven به‌صورت خودکار اجرا می‌شود. الگوی رایج:

mvn clean verify

کش وابستگی‌ها

پوشه‌ی زیر معمولاً کش می‌شود:

~/.m2/repository

این کار زمان Build را به‌شدت کاهش می‌دهد.

استفاده از Maven در Docker (Production-ready)

FROM maven:3.9.9-eclipse-temurin-17 AS builder

WORKDIR /build

COPY pom.xml .

RUN mvn dependency:go-offline

COPY . .

RUN mvn clean package -DskipTests

FROM eclipse-temurin:17-jre

WORKDIR /app

COPY --from=builder /build/target/app.jar app.jar

ENTRYPOINT ["java", "-jar", "app.jar"]

فایل settings.xml در Maven

مسیر فایل:

~/.m2/settings.xml

تنظیم Proxy

<settings>

  <proxies>

    <proxy>

      <id>corp-proxy</id>

      <active>true</active>

      <protocol>http</protocol>

      <host>proxy.company.local</host>

      <port>8080</port>

    </proxy>

  </proxies>

</settings>

Repository داخلی (Nexus / Artifactory)

<mirrors>

  <mirror>

    <id>internal-repo</id>

    <mirrorOf>*</mirrorOf>

    <url>https://repo.company.com/maven</url>

  </mirror>

</mirrors>

مدیریت Credentialها

<servers>

  <server>

    <id>internal-repo</id>

    <username>${env.REPO_USER}</username>

    <password>${env.REPO_PASS}</password>

  </server>

</servers>

جمع‌بندی

Apache Maven همچنان یکی از ستون‌های اصلی توسعه‌ی جاوا است. با نصب صحیح JDK 17، انتخاب روش مناسب نصب Maven و پیکربندی اصولی برای CI/CD و Docker، می‌توان یک محیط توسعه‌ی پایدار، قابل‌اعتماد و مقیاس‌پذیر ایجاد کرد.

به اشتراک بگذارید