7.1 মাভেনের ভেরিয়েবল - বৈশিষ্ট্য
প্রায়শই সম্মুখীন পরামিতি Maven আপনাকে ভেরিয়েবলে রাখার অনুমতি দেয়। যখন আপনি pom ফাইলের বিভিন্ন অংশে পরামিতিগুলিকে মেলাতে চান তখন এটি খুব দরকারী। উদাহরণস্বরূপ, আপনি একটি ভেরিয়েবলের মধ্যে জাভা সংস্করণ, লাইব্রেরি সংস্করণ, নির্দিষ্ট সংস্থানগুলির পাথ রাখতে পারেন।
এই জন্য, একটি বিশেষ বিভাগ আছে pom.xml – <properties>
, যেখানে ভেরিয়েবল ঘোষণা করা হয়। ভেরিয়েবলের সাধারণ রূপটি নিম্নরূপ:
<variable-name> _ _ _ _meaning< / variable name > _
উদাহরণ:
<properties>
<junit.version>5.2</junit.version>
<project.artifactId>new-app</project.artifactId>
<maven.compiler.source>1.13</maven.compiler.source>
<maven.compiler.target>1.15</maven.compiler.target>
</properties>
একটি ভিন্ন সিনট্যাক্স ব্যবহার করে ভেরিয়েবলগুলি অ্যাক্সেস করা হয়:
$ { variable -name } _
যেখানে এই ধরনের কোড লেখা আছে, Maven ভেরিয়েবলের মান প্রতিস্থাপন করবে।
উদাহরণ:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
</build>
7.2 মাভেনে পূর্বনির্ধারিত ভেরিয়েবল
একটি pom ফাইলে একটি প্রকল্প বর্ণনা করার সময়, আপনি পূর্বনির্ধারিত ভেরিয়েবল ব্যবহার করতে পারেন। এগুলি শর্তসাপেক্ষে কয়েকটি গ্রুপে বিভক্ত করা যেতে পারে:
- অন্তর্নির্মিত প্রকল্প বৈশিষ্ট্য;
- প্রকল্প বৈশিষ্ট্য;
- সেটিংস.
শুধুমাত্র দুটি অন্তর্নির্মিত প্রকল্প বৈশিষ্ট্য আছে:
সম্পত্তি | বর্ণনা |
---|---|
${basedir} | প্রকল্প রুট ডিরেক্টরি যেখানেpom.xml |
${সংস্করণ} | আর্টিফ্যাক্ট সংস্করণ; ব্যবহার করা যেতে পারে ${project.version} বা${pom.version} |
«project»
প্রকল্পের বৈশিষ্ট্য বা উপসর্গ ব্যবহার করে উল্লেখ করা যেতে পারে «pom»
। আমাদের চারটি আছে:
সম্পত্তি | বর্ণনা |
---|---|
${project.build.directory} | «target» প্রকল্প ডিরেক্টরি |
${project.build.outputDirectory} | «target» কম্পাইলার ডিরেক্টরি। ডিফল্ট«target/classes» |
${project.name} | প্রকল্পের নাম |
${project.version} | প্রকল্প সংস্করণ |
settings.xml
উপসর্গ ব্যবহার করে বৈশিষ্ট্যগুলি অ্যাক্সেস করা যেতে পারে settings
। নাম যেকোনও হতে পারে - এগুলো থেকে নেওয়া হয়েছে settings.xml
। উদাহরণ:
${settings.localRepository} sets the path to the local repository.