নির্ভরতা থেকে নিদর্শনগুলি একটি এর <exclusions>
অভ্যন্তরে কোনও উপাদান ঘোষণা করে বাদ দেওয়া যেতে পারে তবে এক্ষেত্রে <dependency>
পিতামাতার প্রকল্প থেকে উত্তরাধিকার সূত্রে প্রাপ্ত একটি শিল্পকর্মকে বাদ দেওয়া দরকার। আলোচনায় থাকা পিওএমের একটি অংশ নিম্নলিখিত:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>jruby</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<artifactId>base</artifactId>
<groupId>es.uniovi.innova</groupId>
<version>1.0.0</version>
</parent>
<dependencies>
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>ALL-DEPS</artifactId>
<version>1.0</version>
<scope>provided</scope>
<type>pom</type>
</dependency>
</dependencies>
</project>
base
নিদর্শন, উপর নির্ভর করে javax.mail:mail-1.4.jar
এবং ALL-DEPS
একই লাইব্রেরির অন্য সংস্করণে নির্ভর করে। আসলে দরুন যে mail.jar
থেকে ALL-DEPS
মৃত্যুদন্ড পরিবেশ বিদ্যমান, যদিও এক্সপোর্ট করা, সঙ্গে দুর্ঘটনায় mail.jar
যে পিতা বা মাতা, যা scoped হয় বিদ্যমান compile
।
একটি সমাধান হতে পারে মেইল.জার কে প্যারেন্ট পিওএম থেকে ছাড়িয়ে দেওয়া, তবে বেশিরভাগ প্রকল্পের ভিত্তি যা উত্তরাধিকার সূত্রে প্রাপ্ত হয়, এটির প্রয়োজন (যেমন লগ 4 জে রূপান্তরকারী নির্ভরতা)। সুতরাং আমি যা করতে চাই তা হল কেবলমাত্র প্রকল্প প্রকল্পের বাইরে পিতামাতার লাইব্রেরি বাদ দেওয়া , যেমন এটি করা যেতে পারে base
তবে প্যারেন্ট পম নয় তবে নির্ভরতা ছিল:
...
<dependency>
<artifactId>base</artifactId>
<groupId>es.uniovi.innova</groupId>
<version>1.0.0</version>
<type>pom<type>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
</exclusions>
</dependency>
...