'প্যারেন্ট.আরেলেটিভপথ' আমার com.mycompany এ ইঙ্গিত করেছে: orp.apache এর পরিবর্তে মাইপ্রজেক্ট: অ্যাপাচি - কেন?


135

সত্যটি হ'ল সোলার প্রকল্প ডিরেক্টরিটি মাইপ্রজেক্ট প্যারেন্ট ডিরেক্টরিগুলির মধ্যে রয়েছে (তবে 2 এর মধ্যে কোনও মডিউল বা কোনও খাঁটি সম্পর্ক নেই, কেবল এফএস সুবিধা)। আমি কি এটি বাইরে রাখতে হবে?

$ mvn -DskipTests clean install
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.apache.lucene:lucene-solr-grandparent:pom:3.1-SNAPSHOT
[WARNING] 'parent.relativePath' points at com.mycompany:MyProject instead of org.apache:apache, please verify your project structure @ line 23, column 11
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 

থেকে pom.xml:

<parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>8</version>
  </parent>

$ pwd
/Users/simpatico/ws/MyProjectBaseDir/solr

উত্তর:


259

একটি খালি যুক্ত <relativePath> করুন <parent>যাতে এটি সংগ্রহস্থলগুলি থেকে প্যারেন্ট পমকে সমাধান করে।

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>8</version>
    <relativePath></relativePath>
  </parent>

এখানে প্রাসঙ্গিক ডক

এই বৈশিষ্ট্যটি কেবলমাত্র সেই প্রকল্পের স্থানীয় চেকআউটে উন্নয়ন বাড়ানোর জন্য। আপনি বৈশিষ্ট্যটি অক্ষম করতে চান এবং সর্বদা সংগ্রহস্থলগুলি থেকে প্যারেন্ট POM সমাধান করতে চান এমন ক্ষেত্রে একটি খালি স্ট্রিংয়ের মানটি সেট করুন।
ডিফল্ট মান হল: ../pom.xml


15
বিশ্বাস করুন বা না করুন, সতর্কবাণী কিছু লোককে ভয় দেখায়। আমার বস সবেমাত্র আমাকে এই সতর্কতাটি কেন পাচ্ছেন তা তদন্ত করতে বলেছিলেন এবং এই পোস্টটি আমার দিনটিকে তৈরি করেছে।
পিয়ের

16
সতর্কবাণী আকাশ থেকে নেমে আসে না। এর কারণ আছে। সমাধান কেন হয় না তা না জেনে একটি ফাঁকা << সম্পর্কিত লিখিত </ translation> যোগ করা ....
লরেন্স

1
আমি অ্যাপাচি-স্পার্ক তৈরির চেষ্টা করছি। এই সমাধানটি আমার ক্ষেত্রে কাজ করছে না।
জাভাদবা

29
আপনি যদি সতর্কতাগুলি ঠিক না করেন আপনি সতর্কতাগুলি উপেক্ষা করার জন্য লোকদের প্রশিক্ষণ দিন।
পল জ্যাকসন 21

4
আইএমএইচও <relativePath />আরও ভাল দেখাচ্ছে
লু 55

20

হয় সতর্কবাণীটিকে উপেক্ষা করুন, উত্সগুলি সম্পর্কহীন পিতামাতার বাইরে নিয়ে যান বা উপাদানটির সঠিক মান লিখুন। আপেক্ষিকপথের ডিফল্ট মান দ্বারা সমস্যাটি দেখা দেয় যা ../pom.xML এবং সেই ডিফল্ট মানটি আপনার কার্যকর পোমে ইনজেকশনের পরে সতর্কবার্তাটি ট্রিগার করে।


আমি সন্দেহ করি যে এই ডিফল্ট আচরণটি অন্যান্য কিছু সমস্যা সৃষ্টি করছে। 'উপাদানটি প্রবেশ করান' বলতে কী বোঝ?
সিম্যাটিকো

আমি বলতে চাইছি আপনার প্যারেন্ট পম যেখানে বর্তমান পোমের সাথে তুলনামূলক তার ভিত্তিতে <relativePath> উপাদানটির জন্য সঠিক মানটি লিখতে হবে।
mkleint

1
পাথ org.apache:apacheসম্ভবত কম্পিউটারে স্থানীয়ভাবে মোটেই নেই (স্থানীয়। এম 2 সংগ্রহশালা ব্যতীত)। এই ধরনের ক্ষেত্রে, একটি খালি আপেক্ষিকপথ নির্দিষ্ট করা উচিত।
সাইমন ফারসবার্গ

2

এই বার্তাটি আপনার বর্তমান প্রকল্পের তুলনায় প্যারেন্ট ডিরেক্টরিতে একটি pom.xML দ্বারা সৃষ্ট হতে পারে। প্যারেন্ট ডিরেক্টরীতে পোমটি প্রজেক্টের সাথে মেলে না the বর্তমান পমের প্যারেন্ট কনফিগারেশন।


1
সঠিক, কিন্তু আপনার উত্তর সমাধান ব্যাখ্যা করে না। পাথ org.apache:apacheসম্ভবত কম্পিউটারে স্থানীয়ভাবে মোটেই নেই (স্থানীয়। এম 2 সংগ্রহশালা ব্যতীত)। এই ধরনের ক্ষেত্রে, একটি খালি আপেক্ষিকপথ নির্দিষ্ট করা উচিত।
সাইমন ফারসবার্গ

এটা আমার ক্ষেত্রে কারণ ছিল। এই সতর্কতাটি কোনও দিন আপাত কারণে (একই মেভেন সংস্করণ, একই প্রকল্পের কোড) প্রদর্শিত না হতে শুরু করে। অবশেষে প্রকল্পের ফোল্ডারের ঠিক বাইরে 'pom.xML' ফাইলটি লক্ষ্য করা গেছে, যা ম্যাভেন দ্বারা তুলে নেওয়া হয়েছিল।
সুদীপ

2

আমার একটা ফ্রিঞ্জ কেস আছে আমার পক্ষ থেকে একটি ফ্যাট আঙুলের কেস।

আমার পোম পিতামাতার এটি ছিল:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mygroup </groupId>
    <artifactId>pom-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>pom-parent</name>

এবং আমার (সন্তানের) পম

<parent>
    <groupId>com.mygroup</groupId>
    <artifactId>pom-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath>../pom-parent/pom.xml</relativePath>
</parent>  

আমার পিতামাতার আমার গ্রুপ আইডি নামের শেষে একটি ফ্যাট আঙুলের জায়গা ছিল। সঠিক "com.mygroup" এর পরিবর্তে "com.mygroup"।

এই মোটা আঙুলের ভুলের কারণে ........ "গ্রুপআইডি" নামগুলি মিলেনি .... এবং আমি ত্রুটি পেয়েছি।

তবে, সমাধানের জন্য আপনি অনেকগুলি চূড়ান্ত দিকে যাওয়ার আগে ফ্যাট আঙুলের ভুলগুলি পরীক্ষা করুন।

ত্রুটি আমি ইন্টারনেট অনুসন্ধানের জন্য পেয়েছিলাম

"প্রকল্পের বিল্ড ত্রুটি: পিওএমের" "প্যারেন্ট। রিলেটিভপথ" "" "এ পয়েন্ট করুন" দয়া করে আপনার প্রকল্পের কাঠামোটি যাচাই করুন "


1

আমি মনে করি আপনি <relativePath>প্রশ্নের ট্যাগটি মিস করেছেন । আমি বলছি কারণ, এটি ছাড়া এই ত্রুটি উত্থিত হবে না। বলা হচ্ছে যে,

আপনাকে যে রেখাটি মনোনিবেশ করতে হবে তা হ'ল নীচের সতর্কতা বিবৃতি।

'প্যারেন্ট.রেলেটিভপথ' com.mycompany এ পয়েন্টস: org.apache এর পরিবর্তে মাইপ্রজেক্ট: অ্যাপাচি

এটি পরিষ্কারভাবে বলেছে যে আপনার মডিউলে ট্যাগের আপেক্ষিক পথটি কোনও পম ফাইলের দিকে নির্দেশ করে যা নির্দিষ্ট করা আছে তার তুলনায় আলাদা শিল্পকর্ম রয়েছে

এই মধ্যে একটি মেলেনি কারণ নেই artifactIdআপনার এর parent/pom.xmlএবং artifactIdআপনার উল্লেখ আছে <parent>এর ট্যাগ module/pom.xml। সতর্কতা এড়াতে নীচে প্রদর্শিত হিসাবে <parent>আপনার মধ্যে পরিবর্তন করুন module/pom.xml

  <parent>
    <groupId>com.mycompany</groupId>
    <artifactId>MyProject</artifactId>
    <version>8</version>
    <relativePath>path-to-your-parent-pom.xml</relativePath>
  </parent>

2
পাথ org.apache:apacheসম্ভবত কম্পিউটারে স্থানীয়ভাবে মোটেই নেই (স্থানীয়। এম 2 সংগ্রহশালা ব্যতীত)। এই ধরনের ক্ষেত্রে, একটি খালি আপেক্ষিকপথ নির্দিষ্ট করা উচিত।
সাইমন ফোরসবার্গ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.