Posts

Showing posts from April, 2018

[Java] การนำ jar file library มาใช้กับ Maven Project

Image
          Dependency ทำให้เราสามารถใช้งาน source code จาก repository ได้ ทำให้ชีวิตโปรแกรมเมอร์อย่างเรา ๆ สะดวกสะบายพอสมควร อีกทั้งยังสามารถ share dependency ให้ทีมสามารถใช้งานได้เหมือนกัน           แต่ !! โลกก็ไม่ได้สวยงามเสมอไป บางทีโปรเจคเก่า ๆ ที่เป็นแบบ editor based ก็อาจทำร้ายเราได้ โดยเฉพาะ library ที่ทำกันขึ้นมาเอง (*.jar) ซึ่งไม่ได้ download มาจาก dependency ทำให้เมื่อมีคนใหม่เข้ามาในทีมก็อาจเสียเวลา setup กันอีก แทนที่จะเปิดขึ้นมาแล้วสามารถเริ่มทำงานได้เลย วิธีการที่ผมใช้และคิดว่ามัน work สุดคือ การทำ local repository ในโปรเจคซะเลย อันดับแรก เอา *.jar ไฟล์มาทำให้เป็น maven based ซะก่อน mvn install:install-file -Dfile=mylib1.0.jar -DgroupId=th.in.lordgift -DartifactId=MyLib -Dversion=1.0 -Dpackaging=jar -DlocalRepositoryPath=local-libs file - ระบุ *.jar ของเรา ไม่จำเป็นต้องอยู่ในโปรเจค localRepositoryPath - ระบุ directory ปลายทางที่ต้องการให้เป็น local repository (ในโปรเจค) groupId, artifactId, version - เป็นค่าที่กำหนดเอง สามารถใส่อะไรก็ได้ แต่ควรตั

[Java] รู้จัก Maven ให้มากขึ้น เพื่อก้าวสู่ java professional

Image
          ถึงวันนี้คงไม่มี java dev คนไหนไม่ยอมใช้ maven กันอีกแล้ว แต่คงต้องอธิบายกันหน่อยเผื่อบางท่านมาจากภาษาอื่น ไม่ว่ากันครับ :D maven คือ ??           maven เป็น build tool ที่มีคลัง java source code หรือเรียกอีกอย่างว่า dependency เป็นของตัวเองอย่าง maven repository ( https://mvnrepository.com/ ) ซึ่งประกอบด้วย library, plugin, archetype ให้เลือกใช้มากมาย ซึ่ง editor ส่วนใหญ่ก็รองรับกันอยู่แล้ว บางตัวก็มีติดมาในตัวเลย ไม่ต้องติดตั้ง maven เองเพิ่ม แต่ผมก็แนะนำให้ download แยกต่างหากนะ ตัวอย่างโครงสร้าง maven project บน IntelliJ IDEA *.idea, *.iml เป็นไฟล์เฉพาะของ IntelliJ project ไม่ต้องสนใจ            pom.xml คือ ส่วนสำคัญที่สุดของ maven project เราจะต้องระบุการเรียกใช้งาน dependency, plugin จะถูกเขียนไว้ที่ไฟล์นี้ ในรูปแบบ xml ตัวอย่าง pom.xml <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/mav

Facebook Comment

Recent Posts

Popular post of 7 days

Portal คืออะไรกันนะ???

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

Popular

[Java] Java 8 DateTime ใหม่ ไฉไลกว่าเดิม

Portal คืออะไรกันนะ???

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

เรื่องของ ++i กับ i++

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

[Java] Java Static Variable และ Static Method

Push Notification คืออะไร มีวิธีทำอย่างไร (No Code)

พิมพ์ซองจากรายชื่อ excel ด้วยวิธี Mail Merge

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)