โค้ดยิม/หลักสูตรจาวา/โมดูล 3/ปรับใช้โครงการกับ Maven

ปรับใช้โครงการกับ Maven

ระดับ, บทเรียน
มีอยู่

ใช้ maven-deploy-plugin

และอีกหัวข้อที่น่าสนใจมากคือการปรับใช้แพ็คเกจที่ประกอบขึ้นโดยอัตโนมัติ สมมติว่าเราสร้างห้องสมุดของเราเองโดยใช้ Maven เราจะพุชไปยังที่เก็บ Maven ภายในองค์กรหรือส่วนกลางโดยอัตโนมัติได้อย่างไร

Maven มี ปลั๊กอิน maven-deploy-plugin พิเศษสำหรับไฟล์ . ตัวอย่าง:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
    	<version>2.5</version>
    	<configuration>
          <file>${project.build.directory}\${project.artifactId}-src.zip</file>
          <url>${project.distributionManagement.repository.url}</url>
          <repositoryId>${project.distributionManagement.repository.id}</repositoryId>
          <groupId>${project.groupId}</groupId>
          <artifactId>${project.artifactId}</artifactId>
          <version>${project.version}</version>
      	  <packaging>zip</packaging>
          <pomFile>pom.xml</pomFile>
    	</configuration>
  	</plugin>

ด้วยการตั้งค่าเหล่านี้ คุณสามารถพุชไลบรารีที่สร้างขึ้นไปยังที่เก็บ Maven เป็นแพ็คเกจที่ถูกต้อง เราจะไม่วิเคราะห์กระบวนการนี้โดยละเอียด แต่พิจารณาสั้น ๆ ว่าเกิดอะไรขึ้นที่นี่:

แท็กไฟล์ระบุไฟล์ที่จะพุชไปยังที่เก็บ Maven เป็นไลบรารีใหม่

แท็กurlคือเส้นทางไปยังที่เก็บ Maven (ภายใน/องค์กร/…)

แท็กrepositoryIdระบุตัวระบุของที่เก็บที่จะปรับใช้

groupId , artifactId , แท็กเวอร์ชันกำหนดการระบุแพ็กเกจมาตรฐานในที่เก็บ Maven โดยพารามิเตอร์ทั้งสามนี้ทำให้ไลบรารีสามารถระบุได้โดยไม่ซ้ำกัน

แท็กบรรจุภัณฑ์ใช้เพื่อให้แน่ใจว่าผลลัพธ์ถูกส่งเป็นไฟล์ zip ไฟล์เดียว หากคุณไม่ระบุ จะมีไฟล์ jar หนึ่งไฟล์ แม้ว่าคุณจะมีไฟล์ jar หลายไฟล์ก็ตาม

แท็กpomFileเป็นตัวเลือกและอนุญาตให้คุณส่ง pom.xml อื่นไปยังที่เก็บที่ไม่มีข้อมูลที่ซ่อนอยู่หรือโอเวอร์เฮด

การปรับใช้เว็บแอปพลิเคชันกับ Tomcat โดยใช้ Maven

เว็บเซิร์ฟเวอร์ที่ได้รับความนิยมสูงสุดสำหรับเว็บแอปพลิเคชัน Java คือApache Tomcat และแน่นอน ด้วยความช่วยเหลือจาก Maven คุณสามารถปรับใช้ไฟล์สงครามได้โดยตรงไปยังเซิร์ฟเวอร์ Tomcat ภายในหรือแม้แต่ระยะไกล

เราจะเรียนรู้วิธีติดตั้งและกำหนดค่า Tomcat ในภายหลัง แต่ตอนนี้เราจะพูดถึงหัวข้อการปรับใช้เว็บแอปพลิเคชันของเราโดยอัตโนมัติเท่านั้น

ขั้นตอนแรก. เราจำเป็นต้องให้ Maven เข้าถึงเซิร์ฟเวอร์ Tomcat ในการดำเนินการนี้ ให้เปิด ไฟล์ conf/tomcat-users.xmlในไดเร็กทอรีที่แตก Apache Tomcat และเพิ่ม บทบาท manager-guiและmanager-script :

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="admin" password="admin" roles="manager-gui,manager-script" />
</tomcat-users>

ขั้นตอนที่สอง อนุญาตให้ Maven เข้าถึง Tomcat ในการทำเช่นนี้ ให้เปิด ไฟล์ $MAVEN_HOME/conf/settings.xmlและเพิ่มเซิร์ฟเวอร์:

<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
  <servers>
	<server>
  	<id>TomcatServer</id>
  	<username>admin</username>
  	<password>admin</password>
	</server>
  </servers>
</settings>

ขั้นตอนที่สาม เราเพิ่มปลั๊กอินพิเศษสำหรับการปรับใช้แอปพลิเคชันของเราโดยอัตโนมัติไปยัง Apache Tomcat ปลั๊กอิน นี้เรียกว่าtomcat7-maven-plugin อย่างไรก็ตาม มันไม่ได้ถูกสร้างขึ้นโดยนักพัฒนา Maven แต่โดยนักพัฒนา Tomcat อย่างที่คุณเดาได้จากชื่อ

	<build>
    	<plugins>
        	<plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
            	<configuration>
                    <url>http://localhost:8080/manager/text</url>
                    <server>TomcatServer</server>
                	<path>/simpleProject</path>
            	</configuration>
        	</plugin>
    	</plugins>
	</build>

ในส่วนการกำหนดค่า ให้ระบุ:

  • urlคือที่อยู่ที่ใช้ Tomcat และพาธไปยังผู้จัดการ/ข้อความ
  • เซิร์ฟเวอร์ - รหัสเซิร์ฟเวอร์จาก ไฟล์ settings.xml
  • เส้นทาง - ที่อยู่ที่แอปพลิเคชันปรับใช้จะพร้อมใช้งาน

คำสั่งการจัดการการปรับใช้:

mvn tomcat7:ปรับใช้ ปรับใช้แอปพลิเคชันกับ Tomcat
mvn tomcat7:ยกเลิกการปรับใช้ ลบแอปพลิเคชันออกจาก Tomcat
mvn tomcat7: ปรับใช้ใหม่ ปรับใช้แอปพลิเคชันอีกครั้ง

ปรับใช้กับ Cargo Plugin

ปลั๊กอินที่มีประโยชน์และใช้งานได้หลากหลายสำหรับการปรับใช้เว็บแอปพลิเคชันคือCargo Plugin เขารู้วิธีทำงานกับเว็บเซิร์ฟเวอร์ประเภทต่างๆ นี่คือวิธีการปรับใช้กับ Apache Tomcat:

<build>
    <plugins>
    	<plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
        	<version>1.9.10</version>
        	<configuration>
            	<container>
                	<containerId>tomcat8x</containerId>
                    <type>installed</type>
                	<home>Insert absolute path to tomcat 7 installation</home>
            	</container>
            	<configuration>
                    <type>existing</type>
                    <home>Insert absolute path to tomcat 7 installation</home>
            	</configuration>
        	</configuration>
   	    </plugin>
    </plugins>
</build>

ในการติดตั้งเว็บแอปพลิเคชันบน Tomcat ในเครื่องของคุณ คุณเพียงแค่เรียกใช้คำสั่ง:

mvn install
mvn cargo:deploy

หากเราต้องการปรับใช้กับเว็บเซิร์ฟเวอร์ระยะไกล เราจะต้องตั้งค่าสิทธิ์การเข้าถึงเซิร์ฟเวอร์นี้ ในการทำเช่นนี้ คุณเพียงแค่ต้องลงทะเบียนในpom.xml :

<configuration>
	<container>
        <containerId>tomcat8x</containerId>
    	<type>remote</type>
	</container>
	<configuration>
    	<type>runtime</type>
    	<properties>
            <cargo.remote.username>admin</cargo.remote.username>
            <cargo.remote.password>admin</cargo.remote.password>
        	<cargo.tomcat.manager.url>http://localhost:8080/manager/text</cargo.tomcat.manager.url>
    	</properties>
	</configuration>
</configuration>

ปรับใช้กับ IntelliJ IDEA

Intellij IDEA ทำงานทั้งหมดเอง สิ่งที่คุณต้องมีคือ Tomcat ที่ติดตั้งไว้

ขั้นตอนแรก. สร้างการกำหนดค่า Tomcat ในเครื่อง:

ขั้นตอนที่สอง จากนั้นเลือก Tomcat ในเครื่อง:

ขั้นตอนที่สาม การกำหนดค่า Tomcat:

ขั้นตอนที่สี่ เพิ่มเส้นทางไปยังโฟลเดอร์ Tomcat

ขั้นตอนที่ห้า เราเพิ่มโครงการของเราเป็นสิ่งประดิษฐ์ใน Tomcat

ในการดำเนินการนี้ ให้ไปที่แท็บการปรับใช้ แล้วคลิกปุ่ม+ ทางด้านขวา

นั่นคือทั้งหมด

อย่างไรก็ตาม หากคุณต้องการปรับใช้กับเซิร์ฟเวอร์ระยะไกล ให้เลือก Remote Tomcat ในขั้นตอนที่สอง

ความคิดเห็น
  • เป็นที่นิยม
  • ใหม่
  • เก่า
คุณต้องลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น
หน้านี้ยังไม่มีความคิดเห็นใด ๆ