নেক্সাসে একটি শৈলী নিযুক্ত করার সময় ত্রুটি


102

আমি একটি নেক্সাস সার্ভারে আমার নিজস্ব সংগ্রহশালায় একটি শৈলী নিযুক্ত করার সময় একটি ত্রুটি পেয়েছি: "শিল্পকর্ম স্থাপন করাতে ব্যর্থ: শিল্পীকরণ স্থানান্তর করতে পারেনি" "ফাইলটি স্থানান্তর করতে ব্যর্থ http: /// আমার_আর্টিফ্যাক্ট। রিটার্ন কোডটি: 400"

আমার পরবর্তী নেভিগেশন স্থানীয় কনফিগারেশন সহ একটি কাস্টম সংগ্রহস্থল my_repo নিয়ে নেক্সাস চলছে:

settings.xml

<server>
    <id>my_repo</id>
    <username>user</username>
    <password>pass</password>
 </server>
 ...
 <mirror>
    <id>my_repo</id>
    <name>Repo Mirror</name>
    <url><my_url_to_my_repo></url>
    <mirrorOf>*</mirrorOf>
  </mirror>
  • ব্যবহারকারীর আমার_রেপো তৈরি / পড়ার / লেখার অনুমতি রয়েছে -

pom.xml

<distributionManagement>
        <repository>
            <id>my_repo</id>
            <name>my_repo</name>
            <url><my_url_to_my_repo></url>
            <layout>default</layout>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <name>Snapshots</name>
            <url><my_url_to_my_snapshot_repo></url>
        </snapshotRepository>
    </distributionManagement>

এবং তারপর আমি মৃত্যুদন্ড কার্যকর

mvn deploy

এবং ত্রুটি পেতে। কোন ধারণা?


2
HTTP 400 অর্থ "খারাপ অনুরোধ" request আমি অনুমান করছি URL গুলির একটিতে ভুল আছে।
মার্ক ও'কনোনার

আমার জন্য সমস্যাটি ছিল এটি কোনও স্ন্যাপশট সংস্করণ নয়।
ম্যাভেরয়েড

উত্তর:


156

আমি দুটি বিষয় চিন্তা করতে পারি:

  • ব্যবহারকারীর শংসাপত্রগুলি ভুল
  • সার্ভারে url ভুল
  • ব্যবহারকারীর ডিপ্লোমেন্ট রিপোজিটরিতে অ্যাক্সেস নেই
  • ব্যবহারকারীর নির্দিষ্ট সংগ্রহস্থল লক্ষ্যটিতে অ্যাক্সেস নেই
  • আর্টিক্যাক্টটি ইতিমধ্যে সেই সংস্করণটির সাথে নিযুক্ত করা হয়েছে যদি এটি প্রকাশ হয় (না -SNAPSHOT সংস্করণ)
  • সংগ্রহশালা সম্পর্কিত শিল্পকর্ম স্থাপনার জন্য উপযুক্ত নয় (যেমন স্ন্যাপশট সংস্করণ, প্রক্সি রেপো বা একটি হোস্টেড সংগ্রহস্থলের পরিবর্তে গোষ্ঠীর জন্য প্রকাশিত রেপো)

এগুলি পরীক্ষা করে দেখুন এবং যদি আপনি এখনও সমস্যায় পড়ে থাকেন তবে এখানে আরও বিশদ সরবরাহ করুন।


44
আমি আমার শিল্পকলাটির ভার্সনটি এসএনএপশট-এ পরিবর্তন করেছি এবং তারপরে মোতায়েন করেছি এবং সব ঠিক আছে। তখন আমি বুঝতে পারি যে আমি একটি নেক্সাস গ্রুপে (কোনও নেক্সাস রিপোজিটরি নয়) মোতায়েন করার চেষ্টা করছি, সুতরাং আমার সমস্যার কারণটি ছিল: 'আমার নেক্সাসের সংগ্রহস্থলের ইউআরএলটি ভুল ছিল'
অ্যাকিমুটাল

5
গুরুত্বপূর্ণ: "আর্টিফ্যাক্টটি ইতিমধ্যে সেই সংস্করণটির সাথে নিযুক্ত করা হয়েছে যদি এটি একটি রিলিজ হয় (-SNAPSHOT সংস্করণ নয়)"
ভূষণ

1
আমার দিন বাঁচানো হয়েছে ... আমি pom.xML সংস্করণ থেকে -NNPSHOT শব্দটি সরিয়েছি, এ কারণেই এটি নেক্সাসে স্থাপন করতে সক্ষম হয় না ... আমি এসএনএপশট শব্দটি আবার যুক্ত করেছি, এবং এটি কার্যকর হয়েছে ..
ভেনুগোপাল

3
আমার অভিজ্ঞতায় ভুল শংসাপত্রগুলির ফলাফল 401 নয় 400 এ। "-SNAPSHOT" সহ সংস্করণ নামটি আমার জন্য সমস্যাটি স্থির করে।
মার্কাস জুনিয়াস ব্রুটাস

1
পুনর্নবীকরণের সক্ষম করতে আপনি সহজেই আপনার সংগ্রহস্থলের স্থাপনার নীতি পরিবর্তন করতে পারেন
ফুরকান

35

শুধু একটি পৃথক উত্তর তৈরি করতে। উত্তরটি আসলে গৃহীত উত্তরের জন্য একটি মন্তব্যে পাওয়া যায়।

আপনার আর্টফ্যাক্টটির সংস্করণটি শেষ হয়ে যাওয়ার চেষ্টা করুন -SNAPSHOT


2
না আপনি পুরো বিষয়টি অনুপস্থিত, মন্তব্যটি মনোযোগ সহকারে পড়ুন এতে উল্লেখ করা হয়েছে "সুতরাং আমার সমস্যার কারণটি ছিল: 'আমার নেক্সাসের সংগ্রহস্থলের url ভুল ছিল"। 'রিটার্ন কোডটি হ'ল: 400' (উত্তর দেওয়ার জন্য
কোনও

13
আমি আমার অনুসন্ধানে এই পৃষ্ঠাটি হিট হওয়ায় কেবল এখানে মন্তব্য করতে চেয়েছি। আমি একই 400 ত্রুটিতে ছুটে এসেছি এবং ভাগ্যারা এখানে যা বলেছিলেন তা কী (যদিও আমি এটি তখন বুঝতে পারি নি), যদি স্ন্যাপশট সংগ্রহস্থলটিতে স্নাপশট-এর সংস্করণটি অবশ্যই শেষ করা উচিত। আমার সংস্করণটি ছিল 1.13.0.SNAPSHOT এবং এটি আমাকে 1.13.0-SNAPSHOT হওয়া দরকার তা নির্ধারণ করতে এক ঘন্টা সময় নিয়েছিল।
ক্রেগ

16

400 টি খারাপ অনুরোধ ফেরত আসবে যদি আপনি চেষ্টা করেন:

  1. একটি স্থাপন স্ন্যাপশট হস্তনির্মিত বস্তু (অথবা সংস্করণ) শেষ হওয়া -SNAPSHOT একটি থেকে রিলিজ ভাণ্ডারে স্থাপন করুন
  2. একটি স্থাপন মুক্তি হস্তনির্মিত বস্তু (সংস্করণ না শেষ হওয়া -SNAPSHOT ) একটি থেকে স্ন্যাপশটে সংগ্রহস্থলের
  3. রিলিজ আর্টিক্টসের একই সংস্করণ রিলিজ রিপোজিটরিতে একাধিকবার স্থাপন করুন

12

আমার জন্য সমস্যার কারণ ছিল -সোর্স.জারগুলি দু'বার আপলোড করা হচ্ছিল (ম্যাভেন-উত্স-প্লাগইন সহ) গৃহীত উত্তরের অন্যতম কারণ হিসাবে উল্লেখ করা হয়েছে। আমি উল্লেখ করেছি এমন উত্তরে পুনর্নির্দেশ: মাভেন রিলিজ প্লাগইন ব্যর্থ হয়েছে: উত্স শৈল্পিকাগুলি দু'বার স্থাপন করা হচ্ছে


7

আমার আজ এই সঠিক সমস্যাটি ছিল এবং সমস্যাটি হ'ল আমি যে সংস্করণটি প্রকাশের চেষ্টা করছিলাম: সম্পাদনাটি ইতিমধ্যে নেক্সাস রেপোতে ছিল।

আমার ক্ষেত্রে এটি সম্ভবত পূর্ববর্তী মুক্তির অনুরোধের সময় একটি নেটওয়ার্ক সংযোগ বিচ্ছিন্ন হওয়ার কারণে হয়েছিল: সম্পাদন করুন। যদিও আমি আমার সংযোগটি হারিয়ে ফেলেছি, এটি প্রকাশে সফল হয়েছে বলে মনে হয়।


7

আপনার দুর্লভ ইভেন্টে আপনাকে একই স্ট্যাবল শৈল্পিকটি Nexus এ পুনরায় চালনা করতে হবে, এটি ডিফল্টরূপে ব্যর্থ হবে। এরপরে আপনি যদি নিক্সাস থেকে আর্টিফ্যাক্টটি আবার মোতায়েনের উদ্দেশ্যে (ওয়েব ইন্টারফেসের মাধ্যমে) মুছে ফেলেন তবে ডিপ্লয় করাটি এখনও ব্যর্থ হবে, যেহেতু উদাহরণস্বরূপ জার বা পম অপসারণের ফলে ডিরেক্টরিতে থাকা অন্য ফাইলগুলি এখনও পরিষ্কার হয় না। আপনাকে বাক্সটিতে লগ ইন করতে হবে এবং ডিরেক্টরিটি সম্পূর্ণরূপে মুছতে হবে।


2
কেবল এটি যুক্ত করার জন্য, যদি আপনি সার্ভারে ইন্টারেক্টিভ অ্যাক্সেস না পান (আমি এটি পরিচালনা করি না) তবে আপনি এইচটিটিপি মোছার মাধ্যমে আপত্তিকর নিদর্শনগুলি মুছতে পারেন। আমি এই কাজের জন্য পোস্টম্যান ব্যবহার করি
নাথান রাসেল

আমি নিশ্চিত না যে এটি কারণ আমি এস 3 ব্লবস্টোর প্লাগইন ব্যবহার করছি তবে আমি কোনও ডিরেক্টরি কাঠামো দেখতে পাচ্ছি না যা রেপো কাঠামোর সাথে মেলে। কোন ডায়ার মুছতে হবে তা চিহ্নিত করার কিছু কৌশল আছে? আমার সমস্ত ফাইলের নাম একটি হ্যাশ দিয়ে দেওয়া হয়েছে। ডিরেক্টরিগুলি ফর্ম্যাটটিরcontent/vol-{01-43}/chap-{01-47}
majikman

আপনি জিএভি টাইপ অনুসন্ধান থেকে আর্টিফ্যাক্ট সন্ধানের পরিবর্তে, রিপোজিটরি থেকে রিলিজ ডিরেক্টরিতে নেভিগেট করে রিলিজের জন্য সমস্ত ফাইল মুছতে পারেন। ভান্ডার ভিউতে, আপনি সেই জিএভিতে সমস্ত ফাইলের জন্য একটি মুছুন ক্রিয়া পেতে ডিরেক্টরিটিতে ডান ক্লিক করতে পারেন।
খ্রিস্টান ট্রিম্বল

3

"রিটার্ন কোডটি হ'ল: 400, রিজেনফ্রেস: খারাপ অনুরোধ" যোগ করার সাথে আমার আজ একই সমস্যা ছিল। উপরের উত্তর থেকে "আর্টিফ্যাক্টটি যদি ইতিমধ্যে সেই সংস্করণে প্রকাশিত হয় তবে এটি প্রকাশিত হয়েছে" হিসাবে প্রমাণিত হয়েছে এখানে লিঙ্কের বিবরণ প্রবেশ করান

একটি সমাধান এখনও উল্লেখ করা হয়নি হ'ল একটি রিলিজ সংগ্রহস্থলে পুনরায় নিয়োগের অনুমতি দেওয়ার জন্য নেক্সাসকে কনফিগার করা। সম্ভবত সেরা অনুশীলন নয়, কারণ এটি একটি কারণ হিসাবে সেট করা হয়েছে, তবুও আপনি আপনার নেক্সাস সংগ্রহস্থলের "কনফিগারেশন" -ট্যাবটিতে "অ্যাক্সেস সেটিংস" এ যেতে পারেন এবং "ডিপ্লোপমেন্ট নীতি "টিকে" পুনরায় অনুমতি দেওয়ার অনুমতি দিন "তে সেট করতে পারেন।


3
  • প্যারেন্ট পম অ্যাপ্লিকেশনটিতে ==> সংস্করণ ট্যাগটিকে নিম্নরূপ রাখবে: xxx-SNAPSHOT

উদাহরণ: 0.0.1-SNAPSHOT

  • "-SNAPSHOT": অত্যন্ত গুরুত্বপূর্ণ

2

নেক্সাসে (মুক্তি হিসাবে) ইতিমধ্যে (শিল্পী এবং সংস্করণ) বিদ্যমান নেই তা নিশ্চিত করুন। সেক্ষেত্রে খারাপ অনুরোধটি ফেরত দিন।


2

400 ত্রুটির জন্য, সংগ্রহস্থল "ডিপ্লোয়মেন্ট পলিসি" সাধারণত এটির "পুনরায় অক্ষম করুন" পরীক্ষা করে দেখুন। আপনার লাইব্রেরির সংস্করণটি ইতিমধ্যে সেখানে বেশিরভাগ সময়ই এ কারণেই আপনি একটি বার্তা পেয়েছিলেন " https: //yoururl/some.jar রাখতে পারেনি" ' server সার্ভারের থেকে স্ট্যাটাস কোড 400 পাওয়া গেছে: সংগ্রহস্থল সম্পদ আপডেট করার অনুমতি দেয় না:" আপনার সংগ্রহস্থলের নাম "

সুতরাং, এটি সমাধান করার জন্য আপনার কাছে কয়েকটি বিকল্প রয়েছে। 1- পুনর্নির্মাণের অনুমতি দিন 2- আপনার সংগ্রহস্থল থেকে যে সংস্করণটি আপনি আপলোড করার চেষ্টা করছেন তা মুছুন 3- সংস্করণ নম্বর পরিবর্তন করুন


রিলিজ সংগ্রহস্থলের জন্য পুনরায় নিয়োগের অনুমতি দেওয়া একটি ভাল অনুশীলন হিসাবে বিবেচিত হয় না। বিবেচনা ছাড়াই এটি করবেন না।
Itaypk

1
@ আইটায়পেক আপনি ঠিক বলেছেন সে কারণেই আমি আরও কয়েকটি পরামর্শ দিয়েছি। আমার মতে সংস্করণ পরিবর্তন করা আরও ভাল।
ফুরকান

1

উপরের উত্তরগুলির মধ্যে যদি কোনওটি কাজ না করে তবে আপনি সরাসরি অ্যাডমিন দিক থেকে নতুন নিদর্শন তৈরি করতে পারেন (নীচে সংযুক্ত NEXUS স্ক্রিন শট)।

  1. Login to nexusUI http: // YOUR_URL: 8081 / nexus (ব্যবহারকারীর নাম: অ্যাডমিন ডিফল্ট পাসওয়ার্ড: প্রশাসক 123) )
  2. Click repositories বাম দিকে তারপর রেপো ক্লিক করুন, উদাহরণস্বরূপ: রিলিজ ক্লিক করুন।
  3. পছন্দ করা artifact Upload(শেষ ট্যাব) ।
  4. GAV definitionহিসাবে চয়ন করুনGAV Param - তারপরে আপনার গ্রুপিড, আর্টিক্ট আইডি এবং সংস্করণ লিখুন।
  5. জার ফাইলটি চয়ন করুন।
  6. আর্টিক্যাক্ট আপলোড ক্লিক করুন। এটাই !

এখন আপনি আপনার প্রকল্পে কর্সপন্ডিং যুক্ত করতে সক্ষম হবেন ((নীচের স্ক্রিনশট)

এখানে চিত্র বর্ণনা লিখুন


1

সংস্করণটির আশেপাশে আপনার যদি নামকরণের নীতি থাকে, তবে আপনি যে সংস্করণটি মোতায়েনের চেষ্টা করছেন সেই সংস্করণটিকে নিষিদ্ধ করেও এটি ঘটতে পারে। আমার ক্ষেত্রে আমি একটি সংস্করণ আপলোড করার চেষ্টা করছিলাম (রেপো প্রকাশের জন্য)2.0.1 কিন্তু পরে জানতে যে আমাদের নেক্সাস কনফিগারেশন রিলিজের জন্য পুরো সংখ্যা ছাড়া অন্য কিছু অনুমতি দেয় না।

আমি পরে সংস্করণ দিয়ে চেষ্টা করেছি 2 এবং এটি সফলভাবে মোতায়েন করেছি।

ত্রুটি বার্তা অবশ্যই সাহায্য করবে না:

Return code is: 400, ReasonPhrase: Repository does not allow updating assets: maven-releases-xxx. -> [Help 1]

এর থেকে আরও ভাল একটি বার্তা হতে পারত version 2.0.1 violates naming policy


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.