Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
Maven

Maven Projesi Oluşturmak

Paylaş

Apache Maven yazılarına devam ediyorum. Bu Apache Maven yazımda bir Maven projesi oluşturacağız ve “Merhaba Dünya” diyeceğiz.  Önceki yazıda Maven kullanbilmek için bilgisayarımıza kurulumunu ve yapılandırmasını yazmıştık. Bu örneğe başlamadan önce o yazıyı okumanızı tavsiye ederim.

NetBeans kullanarak Maven projesi oluşturacağım. Bu proje web tabanlı bir maven projesi olucak. Kütüphanelerimizi maven ile yöneterek Java Server Faces sayesinde tarayıcıdan Merhaba Dünya diyeceğiz. Adım adım anlatmaya çalışacağım. Kolaylıkla bir Maven Projesi oluşturalım.

Maven Projesi Yapmak

NetBeans’te yeni proje açıyoruz ve Kategoriden Maven’i , Projeden ise Web Uygulaması seçeneğini seçiyoruz.

Maven Örneği

Oluşturacağınız projeye isim verelim.

Maven Uygulaması

Proje ayarlamalarını yaptıktan sonra Maven gerekli dosyaları internetten indirecek ve projemiz üstteki resimde ki gibi oluşacaktır.
Maven Projesi yapmanın amacı burada Dependencies diye bahsedeceğimiz kütüphanelerimizin nasıl kullandığımızı anlamaya çalışmak aslında.

maven4

Projemiz’in Dependencies’i Javaee-web-api gözüküyor. Yani projemizin kütüphanesinde sadece bu var. Biz web uygulamamızda Java Server Faces kullancağız. Projemize devam edelim.

Java Server Faces sayfamızda bir “Merhaba Dünya” mesajı vereceğimiz için Hello.java isminde bir class dosyası oluşturalım. Onun içerisine de

package com.burakkutbay.maven_hello_world;

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

/**
 *
 * @author burakkutbay
 */
@ManagedBean
@SessionScoped
public class Hello implements Serializable{
    
    private String message="Hello World";

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
    
    
    
}

Bu mesajı sayfamızda duyurmak için gerekli işlemleri yapalım.

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core" >
    <h:head>
        <title>Merhaba Dünya</title>
    </h:head>
    <h:body>    
        <h2>Welcome #{hello.message}</h2>
    </h:body>
</html>

Şimdi projemizi çalıştıralım.

Sonuç.

Welcome #{hello.message}

oldu. Projemiz istediğimiz sonucu bize nedense vermedi.

İşte tam bu durumda devreye Maven ile kütüphane yönetimi devreye girmekte. Apache Maven sayesinde Java Server Faces’in çalışması için gerekli kütüphaneleri Maven yardımı ile projemizi ekleyeceğiz ve Apache Maven’ni bu noktada etkin şekilde kullacağız. Projemizde pom.xml adında bir dosya bulunmakta. Bu dosya her Maven projesinde bulunmakta olup projemizde gerekli olan “Dependencies” leri buraya ekleyeceğiz. Şimdi pom.xml dosyasına açıp bakalım içerisinde neler var.

maven5

<?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>

    <groupId>com.burakkutbay</groupId>
    <artifactId>Maven_Hello_World</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>Maven_Hello_World</name>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    
      
    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
        
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${endorsed.dir}</outputDirectory>
                            <silent>true</silent>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>javax</groupId>
                                    <artifactId>javaee-endorsed-api</artifactId>
                                    <version>7.0</version>
                                    <type>jar</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

Pom.xml dosyamızın içeriği bu şekilde bizim en çok ilgilendiğimiz (şimdilik) kısım <dependency> </dependency> kısmıdır. Projemizde gerekli olan kütüphaneleri kullanmamız için bu alana gerekli eklemeleri yapmamız gerekmektedir. Pom.xml dosyamıza istediğimiz kütüphaneleri eklememiz için http://mvnrepository.com/ adresinden gerekli kütüphaneleri bulup projemize ekleyeceğiz. Projemize gerekli olan kütüphaneleri ekleyelim.

maven repository

Arama yaptıktan sonra gerekli versiyonları bulup Maven Dependency adreslerini alalım.

  <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>2.1.7</version>
        </dependency>
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>2.1.7</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
        </dependency>

Gerekli olan Dependency adreslerini alıktan sonra pom.xml dosyamıza <dependencies> </dependencies> tagları arasına yazarak işlemi tamamlıyoruz ve pom.xml dosyamızı kaydediyoruz. Kaydetme işlemi gerçekleştikten sonra Projemizde bulunan Değendencies klasörüne eklediğimiz kütüphaneleri indirmiş olucak.

maven6

Bu indirme işlemi bittikten sonra projemizi tekrar çalıştıralım.

Welcome Hello World

Ve projemiz amaçladığımız şekilde çalıştı.


[otw_shortcode_button href=”https://github.com/BrkSe/Maven_Hello_World” size=”medium” icon_type=”social foundicon-github” icon_position=”left” shape=”radius” target=”_blank”]Projeyi Github Üzerinden Görüntüle[/otw_shortcode_button]
Bu yazıda bir maven projesi kullanarak kütüphanlerimizi nasıl yönetebileceğimizi görmüş olduk. Diğer Apache Maven yazılarında görüşmek üzere.

Tags:

apache maven derslerimavenmaven derslerimaven projesi

Paylaş

Diğer Yazılar

blank
Previous

Apache Maven Kurmak Yapılandırmak

Java Server Faces Dersleri
Next

JSF Converter (Dönüştürücü) Etiketleri

Next
Java Server Faces Dersleri
21 Mayıs 2016

JSF Converter (Dönüştürücü) Etiketleri

Previews
05 Nisan 2016

Apache Maven Kurmak Yapılandırmak

blank

One Comment

  1. sercan dedi ki:
    02 Şubat 2017, 20:11

    Merhaba arkadaşlar maven ile projeme eklemek istediğim jar kodunu

    javax.servlet
    jstl
    1.2

    pom.xml ekledigimde “dependency not yet downloaded. Build project to correct errors”
    hatası alıyorum.yardımlarınızı bekliyorum.

    Cevapla

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Maven Gradle Arasındaki Farklar

Maven Mı? Gradle Mı? Arasındaki Farklar

Burak KUTBAY

Maven : error in opening zip file when running Hatası Çözümü

blank

Apache Maven Kurmak Yapılandırmak

blank

Tanıyalım: Bjarne Stroustrup

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Amazon Web Services
Vue.js
Gradle
Node.js
Android
Struts
Redis
Röportaj
Spring Data
Spring Cloud Stream
XCode
Debezium
Mikroservis Mimarisi
Video
Spring Native
iPhone Uygulama Geliştirme
Objective C
JPA
Spring Security
PostgreSQL
Apache Kafka
Git
Servlet
Yaptığım Projeler
Maven
Design Patterns
DevOps
Linux
RabbitMQ
PrimeFaces
JDBC
Spring Jdbc Template
Spring
Spring MVC
Manset
Google
Spring Cloud
OCA Java SE 8
Spring Core
Quarkus
Microsoft
Tanıyalım
Veritabanı
Java SE
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale