মাভেনে, কী project.build.directory
বোঝায়? আমি কিছুটা বিভ্রান্ত হয়ে পড়েছি, এটি কি মাভেন প্রকল্পের উত্স কোড ডিরেক্টরি বা লক্ষ্য ডিরেক্টরিটি উল্লেখ করে?
মাভেনে, কী project.build.directory
বোঝায়? আমি কিছুটা বিভ্রান্ত হয়ে পড়েছি, এটি কি মাভেন প্রকল্পের উত্স কোড ডিরেক্টরি বা লক্ষ্য ডিরেক্টরিটি উল্লেখ করে?
উত্তর:
সুপার পোমে আপনি এই খাঁটি বৈশিষ্ট্যগুলি খুঁজে পেতে পারেন।
আপনি এখানে বয়াম খুঁজে পাবেন:
${M2_HOME}/lib/maven-model-builder-3.0.3.jar
7-জিপ বা অন্য কোনও আর্কিভার (বা জার সরঞ্জামটি ব্যবহার করুন) দিয়ে জারটি খুলুন।
নেভিগেট করুন
org/apache/maven/model
সেখানে আপনি পাবেন pom-4.0.0.xml
।
এটিতে এই সমস্ত "শর্ট কাটস" রয়েছে:
<project>
...
<build>
<directory>${project.basedir}/target</directory>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<finalName>${project.artifactId}-${project.version}</finalName>
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>
...
</build>
...
</project>
কিছু তদবিরের পরে আমি একটি লিঙ্কpom-4.0.0.xml
যুক্ত করছি । এটি আপনাকে স্থানীয় জার ফাইলটি না খোলায় বৈশিষ্ট্যগুলি দেখতে দেয়।
project.build.directory
উদাহরণস্বরূপ ডিফল্ট মানটি দেখায় না । এটাই আমি দেখাতে চেয়েছিলাম।
এটি আপনার শীর্ষ স্তরের আউটপুট ডিরেক্টরিকে নির্দেশ করে (যা ডিফল্টরূপে হয় target
):
সম্পাদনা: যেমনটি উল্লেখ করা হয়েছে, কোডহাউস এখন দুঃখের সাথে অবনতি হয়েছে। আপনি এখানে সোন্যাটাইপ থেকে এই সম্পত্তি সম্পর্কে বিশদ জানতে পারেন:
আপনি যদি কখনও মাভেনের আউটপুট ডিরেক্টরিগুলি রেফারেন্স করার চেষ্টা করছেন, আপনার কখনই টার্গেট / ক্লাসের মতো আক্ষরিক মান ব্যবহার করা উচিত নয় । পরিবর্তে এই ডিরেক্টরিগুলি উল্লেখ করার জন্য আপনার সম্পত্তি রেফারেন্স ব্যবহার করা উচিত।
project.build.sourceDirectory project.build.scriptSourceDirectory project.build.testSourceDirectory project.build.outputDirectory project.build.testOutputDirectory project.build.directory
sourceDirectory
,scriptSourceDirectory
এবংtestSourceDirectory
প্রকল্পের উত্স ডিরেক্টরিতে অ্যাক্সেস সরবরাহ করে।outputDirectory
এবংtestOutputDirectory
মাইভেন যে ডিরেক্টরিগুলিতে বাইকোড বা অন্য বিল্ড আউটপুট স্থাপন করতে চলেছে সেখানে অ্যাক্সেস সরবরাহ করে।directory
ডিরেক্টরিটি বোঝায় যা এই সমস্ত আউটপুট ডিরেক্টরি রয়েছে।
project.base.dir
প্রকল্পের মূল ডিরেক্টরিতে নির্দেশ করুন যেখানে pom.xML রয়েছে। যে কেন পরে, project.build.directory
মাভেন দ্বারা সংজ্ঞায়িত হয় ${project.basedir}/target
। ধন্যবাদ ছেলেরা, আমি এটি জানতাম না।
${project.build.sourceDirectory}
পয়েন্ট project-A/src/main/java
, ${project.build.scriptSourceDirectory}
পয়েন্ট project-A/src/main/scripts
, ${project.build.testSourceDirectory}
পয়েন্ট project-A/src/test/java
, ${project.build.directory}
পয়েন্ট project-A/target
, ${project.build.directory}
পয়েন্ট project-A/target/classes
, ${project.build.testOutputDirectory}
পয়েন্ট project-A/target/test-classes
।
আপনার প্রকল্পের মানটির সর্বাধিক আপ টু ডেট উত্তর সন্ধান করতে পারেন কেবলমাত্র কার্যকর করুন
mvn3 help:effective-pom
কমান্ড দিন এবং <build> ... <directory>
কার্যকর-পম এ ফলাফলের মধ্যে ট্যাগের মানটি সন্ধান করুন। যদি আপনি ওভাররাইট না করে থাকেন তবে এটি সুপার পিওমের মান প্রদর্শন করবে।