মাভেন এটি ব্যবহার করতে সক্ষম হওয়ার জন্য কোনও মুহুর্তে ইন্টারনেটে কোনও সংযোগ প্রয়োজন? অর্থ বিশেষত সংকলন, পরিষ্কার, প্যাকেজিং ইত্যাদির জন্য অভ্যন্তরীণ মাভেন প্লাগইনগুলি পাওয়া?
মাভেন এটি ব্যবহার করতে সক্ষম হওয়ার জন্য কোনও মুহুর্তে ইন্টারনেটে কোনও সংযোগ প্রয়োজন? অর্থ বিশেষত সংকলন, পরিষ্কার, প্যাকেজিং ইত্যাদির জন্য অভ্যন্তরীণ মাভেন প্লাগইনগুলি পাওয়া?
উত্তর:
আপনি অফলাইন মোডে মাভেন চালাতে পারেন mvn -o install
। অবশ্যই আপনার স্থানীয় সংগ্রহস্থলে উপলভ্য কোনও শিল্পকলা ব্যর্থ হবে। মাভেন বিতরণকৃত ভাণ্ডারগুলিতে পূর্বাভাস পাওয়া যায় না তবে তারা অবশ্যই জিনিসগুলিকে আরও বিজোড় করে তোলে। এটি এজন্য যে অনেকগুলি দোকান অভ্যন্তরীণ আয়নাগুলি ব্যবহার করে যা ক্রমবর্ধমানভাবে কেন্দ্রীয় ভান্ডারের সাথে সিঙ্ক হয়।
এছাড়াও, mvn dependency:go-offline
অফলাইনে কাজ শুরু করার আগে আপনার স্থানীয়ভাবে সমস্ত নির্ভরতা ইনস্টল করা হয়েছে তা নিশ্চিত করতে ব্যবহার করা যেতে পারে।
আপনার ল্যানে ইন্টারনেট এক্সেস সহ পিসি থাকলে আপনার একটি স্থানীয় মাভেন সংগ্রহশালা ইনস্টল করা উচিত।
আমি আর্টিফটরি ওপেন সোর্স সুপারিশ । আমরা আমাদের সংস্থায় এটি ব্যবহার করি এটি সেটআপ করা সত্যই সহজ।
কৃত্রিম কারখানা আপনার বিল্ড টুল (ম্যাভেন, পিঁপড়া, আইভী, গ্রেডেল ইত্যাদি) এবং বাইরের বিশ্বের মধ্যে প্রক্সি হিসাবে কাজ করে।
এটি দূরবর্তী নিদর্শনগুলিকে ক্যাশে করে যাতে আপনার সেগুলি বার বার ডাউনলোড করতে না হয়।
এটি অভ্যন্তরীণ নিদর্শনগুলির জন্য অবাঞ্ছিত (এবং কখনও কখনও সুরক্ষা-সংবেদনশীল) বহিরাগত অনুরোধগুলিকে অবরুদ্ধ করে এবং কীভাবে এবং কোথায় শিল্পকর্ম স্থাপন করা হয় এবং কে দ্বারা নিয়ন্ত্রণ করে।
শৈল্পিক স্থাপন করার পরে আপনার কেবলমাত্র settings.xml
উন্নয়ন মেশিনে ম্যাভেনের পরিবর্তন করতে হবে :
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<mirrors>
<mirror>
<mirrorOf>*</mirrorOf>
<name>repo</name>
<url>http://maven.yourorganization.com:8081/artifactory/repo</url>
<id>repo</id>
</mirror>
</mirrors>
<profiles>
<profile>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>http://maven.yourorganization.com:8081/artifactory/libs-release</url>
</repository>
<repository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://maven.yourorganization.com:8081/artifactory/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>plugins-release</name>
<url>http://maven.yourorganization.com:8081/artifactory/plugins-release</url>
</pluginRepository>
<pluginRepository>
<snapshots />
<id>snapshots</id>
<name>plugins-snapshot</name>
<url>http://maven.yourorganization.com:8081/artifactory/plugins-snapshot</url>
</pluginRepository>
</pluginRepositories>
<id>artifactory</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>
আমরা এই সমাধানটি ব্যবহার করেছি কারণ আমাদের বিকাশ মেশিনগুলিতে ইন্টারনেট অ্যাক্সেস নিয়ে সমস্যা ছিল এবং কিছু শিল্পকর্ম দূষিত ফাইল ডাউনলোড করেছে বা ডাউনলোড করে নি। সেই থেকে আমাদের সমস্যা হয়নি।
এর জন্য আপনার কাছে দুটি বিকল্প রয়েছে:
1.) সেটিংসে পরিবর্তন করুন। এক্সএমএল এটি প্রথম ট্যাগে যুক্ত করুন
<localRepository>C:/Users/admin/.m2/repository</localRepository>
২) অফলাইন কমান্ডের জন্য -o ট্যাগ ব্যবহার করুন।
mvn -o clean install -DskipTests=true
mvn -o jetty:run
মাভেনের আপনার স্থানীয় সংগ্রহস্থলে নির্ভরতা দরকার। এগুলি পাওয়ার সহজতম উপায় হ'ল ইন্টারনেট অ্যাক্সেস (বা এখানে সরবরাহিত অন্যান্য সমাধানগুলি ব্যবহার করা আরও শক্ত)।
সুতরাং ধরে নেওয়া হয়েছে যে আপনি অস্থায়ীভাবে ইন্টারনেট অ্যাক্সেস পেতে পারবেন আপনি মেভেন-নির্ভরতা-প্লাগইনটিকে তার নির্ভরতার সাথে অফলাইনে যাওয়ার জন্য প্রস্তুত করতে পারেন : গো-অফলাইন লক্ষ্য। এটি আপনার স্থানীয় সংগ্রহস্থলে আপনার সমস্ত প্রকল্প নির্ভরতা ডাউনলোড করবে (অবশ্যই নির্ভরতা / প্লাগইনগুলিতে পরিবর্তনের জন্য নতুন ইন্টারনেট / কেন্দ্রীয় সংগ্রহস্থল অ্যাক্সেসের প্রয়োজন হবে)।
দুঃখজনকভাবে
dependency:go-offline
আমার পক্ষে কাজ করেনি কারণ এটি সবকিছুকে ক্যাশে করে নি, যেমন। POMs ফাইল এবং অন্যান্য স্পষ্টভাবে নির্ভরতা উল্লেখ করে।
কার্যসংক্রান্ত একটি নির্দিষ্ট করতে হয়েছে স্থানীয় সংগ্রহস্থলের অবস্থান , নয়তো মধ্যে settings.xml
ফাইল <localRepository>...</localRepository>
বা চালিয়ে mvn
সঙ্গে -Dmaven.repo.local=...
প্যারামিটার। প্রাথমিক প্রকল্প তৈরির পরে, সমস্ত প্রয়োজনীয় নিদর্শনগুলি ক্যাশে করা উচিত এবং তারপরে অফলাইনে মোডে মাভেন বিল্ড চালানোর সময় আপনি একই পদ্ধতিতে সংগ্রহস্থলের অবস্থানটি উল্লেখ করতে পারেন ( mvn -o ...
)।
অফলাইনে যাওয়ার আগে আপনাকে নিশ্চিত করতে হবে যে সমস্ত কিছু আপনার স্থানীয় রেপোতে রয়েছে যা অফলাইনে কাজ করার সময় প্রয়োজন। প্রকল্প (গুলি) / পম (গুলি) এর জন্য "এমভিএন নির্ভরতা: গো-অফলাইন" চালানো, আপনি কাজ করার ইচ্ছুক, এটি অর্জনের প্রচেষ্টা কমিয়ে দেবে।
তবে এটি সাধারণত পুরো গল্পের হয় না, কারণ নির্ভরতা: গো-অফলাইন কেবল "বেয়ার বিল্ড" প্লাগইনগুলি ডাউনলোড করবে ( গো-অফলাইন / সমাধান-প্লাগইনগুলি সমস্ত প্লাগইন নির্ভরতা সমাধান করে না )। সুতরাং আপনার ডিপোতে ডিপ্লাই / টেস্ট / সাইট প্লাগইনগুলি (এবং সম্ভবত অন্যরা) ডাউনলোড করার একটি উপায় এবং তাদের নির্ভরতা খুঁজে পেতে হবে।
অধিকতর নির্ভরতা: গো-অফলাইন পোমের শিল্পকলা নিজেই ডাউনলোড করে না, সুতরাং আপনার নির্ভরতা থাকতে হবে: প্রয়োজনে এটি অনুলিপি করুন।
কখনও কখনও - যেমন ম্যাডা লিখেছেন - আপনি জানেন না, অফলাইনে থাকাকালীন আপনার কী প্রয়োজন হবে, যা "পর্যাপ্ত" রেপো রাখা অসম্ভব করে তোলে।
যাইহোক সঠিকভাবে ভরাট রেপো থাকাতে অফলাইনে যাওয়ার জন্য আপনাকে কেবল মাভেনের সেটিংস.এক্সএমএলে "<< অফলাইন> সত্য </ translation>" যুক্ত করতে হবে।
অফলাইনে থাকাকালীন আপনি আপনার রেপো পূরণ করতে যে ম্যাভেন প্রোফাইল (আইডি) ব্যবহার করেছিলেন তা পরিবর্তন করবেন না। মাভেন তার মেটাডেটা ডাউনলোড করা শৈলীগুলিকে একটি "পরিচয়" দিয়ে স্বীকৃতি দেয় যা প্রোফাইল আইডিতে আবদ্ধ।
আপনি যদি ইন্টেলিজ ব্যবহার করে থাকেন তবে আপনি কেবল পছন্দসমূহ -> বিল্ড, এক্সিকিউশন, ডিপ্লোয়মেন্ট -> বিল্ড সরঞ্জাম -> ম্যাভেন এবং অফলাইনে ওয়ার্কটি চেক / চেক করতে পারেন ।
এটি কি তোমার জন্য কাজ করে?
http://jojovedder.blogspot.com/2009/04/running-maven-offline-using-local.html
এটিকে আপনার প্লাগইন ভাণ্ডারে যুক্ত করতে ভুলবেন না এবং ইউআরএলটি আপনার সংগ্রহস্থল যেখানেই থাকে সেখানে নির্দেশ করুন।
<repositories>
<repository>
<id>local</id>
<url>file://D:\mavenrepo</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>local</id>
<url>file://D:\mavenrepo</url>
</pluginRepository>
</pluginRepositories>
যদি তা না হয় তবে আপনার মেশিনে আপনাকে একটি স্থানীয় সার্ভার, যেমন অ্যাপাচি চালানোর দরকার হতে পারে।
(উত্স: jfrog.com )
অথবা
সোনাটাইপ নেক্সাস http://www.sonatype.org/nexus/ বা জেফ্রোগ আর্টিফ্যাক্টরি https://www.jfrog.com/artifactory/ এর মতো কেবল মেভেন সংগ্রহস্থল সার্ভারগুলি ব্যবহার করুন ।
কোনও বিকাশকারী একটি প্রকল্প তৈরির পরে, পরবর্তী বিকাশকারীদের দ্বারা তৈরি বা জেনকিনস সিআইকে ইন্টারনেট অ্যাক্সেসের প্রয়োজন হবে না।
ম্যাভেন রিপোজিটরি সার্ভারেও মাভেন সেন্ট্রাল (বা আরও বেশি প্রয়োজনীয় পাবলিক সঞ্চিতাগুলি) অ্যাক্সেস করার জন্য প্রক্সিগুলি কনফিগার করা থাকতে পারে এবং তারা দূরবর্তী সংগ্রহস্থলগুলিতে সিঞ্চে শিল্পকর্মগুলির তালিকা থাকতে পারে।
আমার অভিজ্ঞতাটি দেখায় যে -o বিকল্পটি সঠিকভাবে কাজ করে না এবং পুরো অফলাইন বিল্ডের অনুমতি দেওয়ার জন্য গো-অফলাইন লক্ষ্যটি যথেষ্ট দূরে:
যে সমাধানটি আমি যাচাই করতে পারি তার --legacy-local-repository
মধ্যে -o
(অফলাইন) একের পরিবর্তে মভেন বিকল্পের ব্যবহার এবং বিতরণ সংগ্রহস্থলের জায়গায় স্থানীয় সংগ্রহস্থল ব্যবহার অন্তর্ভুক্ত থাকে
এছাড়াও, আমাকে maven-metadata-maven2_central.xml
স্থানীয়-রেপোর প্রতিটি ফাইলই maven-metadata.xml
মাভেনের দ্বারা প্রত্যাশিত ফর্মটিতে অনুলিপি করতে হয়েছিল।
সমাধান আমি এখানে খুঁজে দেখুন ।
আপনার প্রশ্নের সরাসরি জবাব দেওয়া: এটির জন্য ইন্টারনেট সংযোগের প্রয়োজন নেই, তবে ল্যান বা লোকাল ডিস্কে কোনও সংগ্রহস্থল অ্যাক্সেসের প্রয়োজন নেই (এখানে পোস্ট করা অন্যান্য ব্যক্তির ইঙ্গিত ব্যবহার করুন)।
যদি আপনার প্রকল্পটি কোনও পরিপক্ক পর্যায়ে না থাকে, এর অর্থ যখন পমগুলি প্রায়শই পরিবর্তন করা হয় তখন অফলাইন মোডটি খুব অবৈধ হবে, কারণ আপনাকে প্রায়শই আপনার ভাণ্ডার আপডেট করতে হবে। আপনার প্রয়োজনীয় সমস্ত কিছু আছে এমন কোনও অনুলিপি সংগ্রহ করতে না পারলে আপনি কীভাবে জানবেন? সাধারণত আপনি স্ক্র্যাচ থেকে একটি সংগ্রহস্থল শুরু করেন এবং এটি বিকাশের সময় ধীরে ধীরে ক্লোন হয়ে যায় (কোনও কম্পিউটারে সংযুক্ত কম্পিউটারে)। Repo1.maven.org সার্বজনীন সংগ্রহস্থলের একটি অনুলিপি শত শত গিগাবাইট ওজনের, তাই আমিও জোর বলার সুপারিশ করব না।
এর ত্রুটিগুলি ঠিক করতে একটি নতুন প্লাগইন উপস্থিত হয়েছে mvn dependency:go-offline
:
https://github.com/qaware/go-offline-maven-plugin
এটি আপনার পোমে যুক্ত করুন, তারপরে চালান mvn -T1C de.qaware.maven:go-offline-maven-plugin:resolve-dependencies
। একবার আপনি সমস্ত গতিশীল নির্ভরতা সেটআপ হয়ে গেলে, ম্যাভেন আবার কিছু ডাউনলোড করার চেষ্টা করবে না (যতক্ষণ না আপনি সংস্করণ আপডেট করবেন)।