আমি প্রক্সি দিয়ে মাভেনকে কীভাবে ব্যবহার করব?


130

আমি প্রক্সি দিয়ে ম্যাভেন ব্যবহারের অভিজ্ঞতাটি ভাগ করতে চাই।

আপনি সম্ভবত ব্যতিক্রম এবং বার্তার মুখোমুখি হবেন:

এর জন্য সংগ্রহস্থল মেটাডেটা: 'org.apache.maven.plugins' এর থেকে পুনরুদ্ধার করা যায়নি 
সংগ্রহস্থল: ত্রুটির কারণে কেন্দ্রীয়: ফাইল স্থানান্তর করার সময় ত্রুটি: সংযোগ প্রত্যাখ্যান: সংযুক্ত

অথবা

[সতর্কতা] org.apache.maven.plugins: maven- ক্লিন- এর জন্য প্লাগইন বর্ণনাকারী পুনরুদ্ধার করতে ব্যর্থ
প্লাগইন: 2.5: প্লাগইন org.apache.maven.plugins: maven- পরিষ্কার-প্লাগইন: 2.5 বা এর একটি 
নির্ভরতাগুলি সমাধান করা যায়নি: এর জন্য আর্টিক্যাক্ট বর্ণনাকারী পড়তে ব্যর্থ 
org.apache.maven.plugins: ম্যাভেন-ক্লিন-প্লাগইন: বয়াম: 2.5

প্রক্সি সার্ভার ব্যবহার করতে মাভেনকে কীভাবে কনফিগার করবেন?


(যে কেউ) এটিকে প্রকৃত প্রশ্নের মধ্যে পুনরায় চাপিয়ে দেওয়ার (যেমন: আমি কীভাবে একটি প্রক্সি দিয়ে মাভেনকে ব্যবহার করব?)? তারপরে আপনি স্ট্যাক-ওভারফ্লো ফর্ম্যাটটির সাথে আরও ইনলাইন হওয়ার জন্য উত্তর হিসাবে আপনার প্রশ্নবঙ্গুকে পোস্ট করতে পারেন ..
টিম

আমি আপনার জন্য এটি পুনরায় প্রচার করেছি বোগদান, আপনি যদি চান তবে উত্তর হিসাবে আপনার মূল বিষয়বস্তু পোস্ট করুন
রিচ সেলার

দেখে মনে হচ্ছে আমরা একই সময়ে সম্পাদনা করেছি
রিচ বিক্রয়কারী

উত্তর:


145

মাভেনের জন্য প্রক্সি স্থাপনের বিশদগুলির জন্য, মিনি গাইডটি দেখুন

মূলত আপনাকে গ্লোবাল সেটিংস ( [maven install]/conf/settings.xml), অথবা ব্যবহারকারীর সেটিংস ( ${user.home}/.m2/settings.xml) সঠিকভাবে কনফিগার করা হয়েছে বলে প্রক্সি বিভাগটি নিশ্চিত করতে হবে। কোনও সরকারী স্থানে সরল পাঠ্যে পাসওয়ার্ডটি সংরক্ষণ করা এড়াতে আপনার ব্যবহারকারীর সেটিংসে এটি করা ভাল।

ম্যাভেন ২.১ পাসওয়ার্ড এনক্রিপশন প্রবর্তন করেছে , তবে প্রক্সি সেটিংসের পাশাপাশি পুনরায় সংগ্রহস্থল পাসওয়ার্ডগুলির জন্য এনক্রিপশন প্রযোজ্য কিনা তা পরীক্ষা করে দেখতে পেলাম না (কেন এটি হবে না তা দেখুন না)।

তথ্যের জন্য, আপনার সেটিংস.এক্সএমএলে একটি মন্তব্য-আউট প্রক্সি কনফিগারেশন এবং এটি কীভাবে সংশোধন করতে হবে তার নির্দেশাবলী রয়েছে।

মিনি-গাইড থেকে আপনার সেটিংসটি দেখতে এমন কিছু দেখতে পাওয়া উচিত:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                  http://maven.apache.org/xsd/settings-1.0.0.xsd">
[...]
  <proxies>
    <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.somewhere.com</host>
      <port>8080</port>
      <username>proxyuser</username>
      <password>somepassword</password>
      <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>
    </proxy>
  </proxies>
[...]
</settings>

ধন্যবাদ, তবে এই পোস্টটি বরং প্রশ্নের চেয়ে অন্যদের জন্য একটি পরামর্শ। আমি ইতিমধ্যে এই সমস্যাটি সমাধান করেছি, তবে অ-সুস্পষ্ট জিনিসে খুব বেশি সময় ব্যয় করেছি। আমি এটি পোস্ট করেছি যাতে এটি কারওর পক্ষে কার্যকর হতে পারে।
বোগদান

7
m2 ডিরেক্টরিতে सेटिंग.xml ফাইল খুঁজে পাওয়া যায় না can কোন ধারণা কেন? @ রিচ বিক্রয়কারী
এরিক্স 6666

5
আপনি এটি সেখানে রাখতে হবে। আপনি maven_home থেকে একটি নমুনা সেটিংস খুঁজে পেতে পারেন ml
রবি

এবং যদি প্রক্সিটির কোনও প্রমাণীকরণের প্রয়োজন হয় না, <username>এবং <password>উপাদানগুলি অবশ্যই অপসারণ করতে হবে (এবং খালি সামগ্রী দেওয়া হয়নি)। এটি বের করতে আমার কিছুটা সময় লেগেছে।
dmcontador

50

মোজা প্রক্সি কীভাবে ব্যবহার করবেন?

কোথাও একটি সার্ভারে একটি এসএসএইচ টানেল সেট আপ করুন:

ssh -D $PORT $USER@$SERVER

লিনাক্স (ব্যাশ):

export MAVEN_OPTS="-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=$PORT"

উইন্ডোজ:

set MAVEN_OPTS="-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=$PORT"

2
মোজেনের প্রক্সি ব্যবহারের মাধ্যমে MAVEN_OPTSআমি মাভেনকে এইচটিটিপিএস-এর মাধ্যমে ডাউনলোড করতে পারি। এইচটিটিপি বা এইচটিটিপিএস প্রক্সিগুলি ব্যবহার করে, হয় হয় MAVEN_OPTSবা এর মাধ্যমে settings.xmlফলাফল হয়org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec execute INFO: I/O exception (java.net.SocketException) caught when processing request to {tls}->http://proxy.mycompany.com:911->https://repo.maven.apache.org:443: SOCKS: TTL expired
মিহাই ক্যাপোটি

জন্য httpপ্রক্সি:export MAVEN_OPTS="-DproxyHost=127.0.0.1 -DproxyPort=$PORT"
Omid

দুর্দান্ত, ধন্যবাদ যদি আপনি কেবলমাত্র একটি একক কমান্ডের জন্য এই বিকল্পগুলি ব্যবহার করতে চান তবে আপনি টাইপ করতে পারেন: একই সেশনে MAVEN_OPTS="-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1080" mvn clean installপরবর্তী mvnকমান্ডগুলি কোনও প্রক্সি ছাড়াই থাকবে।
এরিক ডুমিনিল

29

আমারও এই সমস্যা ছিল এবং আমি settings.xmlআমার .m2ফোল্ডারে ফাইল সম্পাদনা করে এটি সমাধান করেছি । আমার settings.xmlএখন এই মত:

<settings>
  <proxies>
    <proxy>
      <id>genproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxyHost</host>
      <port>3128</port>
      <username>username</username>
      <password>password</password>
    </proxy>
 </proxies>
</settings>

1
এটি আমার ক্ষেত্রে জার ফাইলগুলি ডাউনলোড করছে না। আমি সবকিছু চেষ্টা করেছি
ফয়জান মুবাশের

28

এছাড়াও মনে রাখবেন যে কিছু প্লাগইন (রিমোট-রিসোর্সগুলি মনে আসে) সত্যই একটি পুরানো লাইব্রেরি ব্যবহার করে যা কেবল MAVEN_OPTS এর মাধ্যমে প্রক্সি কনফিগারেশন গ্রহণ করে;

-Dhttp.proxyHost=<host> -Dhttp.proxyPort=<port> -Dhttps.proxyHost=<host> -Dhttps.proxyPort=<port>

আপনি এটির জন্য লেখকে আটকে থাকতে পারেন।


উবুন্টু সংগ্রহশালা থেকে মেভেন 3.0.5 সহ উবুন্টু 14.04 এ আমার পক্ষে কাজ করেনি। সেটিংস.এক্সএমএল ফাইলটিতে প্রক্সি কনফিগার করার কাজ।
মিহাই ক্যাপোটি

1
আমার জন্য উবুন্টু 14.04 এ মেভেন 3.0.4
আরএমভি

এইভাবে MAVEN_OPTS সেট করার প্রয়োজনের একটি উদাহরণ মাভেন ব্যবহার করে উত্স থেকে মাভেন তৈরি করা। MAVEN_OPTS ব্যতীত, অনেক JARs ডাউনলোড করা সত্ত্বেও এটি LICENSE-2.0 ডাউনলোড করতে ব্যর্থ হয়।
পারমাকিউড

@ ক্রোজেনভোল্ড আপনাকে ধন্যবাদ, এই সমাধানটি আমার পক্ষে কাজ করেছে। আমি ইতিমধ্যে সেটিংস.এক্সএমএলে প্রক্সি সেট করেছিলাম তবে একটি সিএক্সএফ প্লাগইন ছিল যে ডাব্লুএসডিএল থেকে কোডটি উত্পন্ন করতে চেয়েছিল যা ব্যর্থ হয়েছিল। এটি আমার সমস্যা সমাধান করেছে।
বিশাল বিজয়ন

23

মাভেন প্রক্সি সেট করতে :

আপনার ~ / .m2 / settings.xML ফাইলে প্রক্সি সেশনটি সম্পাদনা করুন । আপনি যদি ফাইলটি খুঁজে না পান তবে একটি তৈরি করুন।

<settings>
<proxies>
    <proxy>
        <id>httpproxy</id>
        <active>true</active>
        <protocol>http</protocol>
        <host>your-proxy-host</host>
        <port>your-proxy-port</port>
        <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
<proxy>
        <id>httpsproxy</id>
        <active>true</active>
        <protocol>https</protocol>
        <host>your-proxy-host</host>
        <port>your-proxy-port</port>
        <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>

</proxies>
</settings>

অথবা

আপনার {M2_HOME} /conf/settings.xML এ প্রক্সি সেশনটি সম্পাদনা করুন

আশা করি এটা সাহায্য করবে.. :)


15

এগুলি সম্ভবত দুটি ইস্যু দ্বারা সৃষ্ট:

  1. আপনার সেটিংস.এক্সএমএলে আপনাকে প্রক্সি কনফিগারেশন যুক্ত করতে হবে। আপনার ব্যবহারকারীর নাম ক্ষেত্রটি এখানে একটি কৌশল। এটি ডোমেন-ব্যবহারকারীর নাম বলে মনে হচ্ছে তা নিশ্চিত করুন। সেখানে ডোমেন সেট করা এবং এই সঠিক স্ল্যাশ স্থাপন গুরুত্বপূর্ণ '\'। আপনার পাসওয়ার্ডে যদি এক্সএমএল-বান্ধব অক্ষর না থাকে তবে আপনি <! [CDATA []]> ট্যাগটি ব্যবহার করতে চাইতে পারেন।
  2. আমি লক্ষ করেছি যে ম্যাভেন 2.2.0 কখনও কখনও প্রক্সি দিয়ে কাজ করে না, যেখানে 2.2.1 পুরোপুরি সূক্ষ্মভাবে কাজ করে।

এর মধ্যে কিছু বাদ পড়লে - ম্যাভেন এলোমেলো ত্রুটি বার্তাগুলিতে ব্যর্থ হতে পারে।

শুধু আশা করি যে আমি কারও মতো এই সমস্যাটি ছড়িয়ে ছয় ঘন্টা ধরে গুগল করা থেকে বাঁচিয়েছি।


আপনি কি এনটিএলএম প্রক্সি ব্যবহার করছেন? মিনি গাইড থেকে: "দয়া করে মনে রাখবেন যে [সি] বর্তমানে NTLM প্রক্সিগুলি সমর্থন করা হয় না কারণ তাদের পরীক্ষা করা হয়নি। আপনি এই কাজটি করতে JDK 1.4+ এ সম্পর্কিত সিস্টেমের বৈশিষ্ট্যগুলি ব্যবহার করতে সক্ষম হতে পারেন।"
ধনী বিক্রয়কারী

এই সম্পর্কে নিশ্চিত না। এটি এমন কর্পোরেট প্রক্সি যা আমার থেকে 600 মাইল দূরে স্থাপন করেছে এবং সিস্টেম প্রশাসনের কেউ এই সপ্তাহান্তে অফিসে নেই। সুতরাং এখন কাউকে জিজ্ঞাসা করতে পারবেন না। এটি খুঁজে আকর্ষণীয় হবে। আমি জানি এটি http, মোজা এবং অন্যান্য প্রোটোকল সমর্থন করে। এটি এটি এনটিএমএলও হতে পারে।
বোগদান

14

এটির সাথে কেবল আমার নিজের অভিজ্ঞতা যুক্ত করতে: আমার সংস্থার প্রক্সিটি http://webproxy.intra.companyname.com:3128। মাভেন এই প্রক্সি দিয়ে কাজ করার জন্য, সেটিংসটি ঠিক এর মতো হতে হবে

<settings>
  <proxies>
    <proxy>
      <id>default</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>webproxy.intra.companyname.com</host>
      <port>3128</port>
    </proxy>
  </proxies>
</settings>

কিছু অন্যান্য প্রক্সি-কনফিগারেশন ফাইলের বিপরীতে, protocolএখানে প্রক্সি সার্ভারের সাথে কীভাবে সংযোগ স্থাপন করা যায় তা বর্ণনা করে, কোন প্রকারের প্রোটোকলকে প্রক্সি করা উচিত নয়। httpলক্ষ্য অংশ, হোস্ট-নেম থেকে মুছে বিভক্ত করা হয়েছে আর এটা কাজ করবে না।


এই সময়ে আমি কেবল বিপরীত পরীক্ষা করেছি। কোন প্রোটোকলকে এই প্রক্সিটি ব্যবহার করা উচিত তা এখানে প্রোটোকলটি বর্ণনা করা হয়। আমি সবেমাত্র একটি https প্রোটোকল প্রক্সি কনফিগার করতে পেরেছি যা <protocol> https </protocol> ব্যবহার করে কোনও HTTP
প্রক্সিতে সংযুক্ত হয়

ধন্যবাদ! এটি আমার পক্ষে কাজ করেছিল! আমার "HTTP: //" প্রাক-পেন্ডিং ছিল এবং এটি ব্যর্থ হবে
জেসি ম্যাককেল

11

ধন্যবাদ @ ক্রোজেনভোল্ড

যদি সেটিংস ফাইলের পরিবর্তনগুলি কাজ না করে, POM ফাইল থাকা কমান্ড প্রম্পটে এটি ব্যবহার করে দেখুন।

mvn install -Dhttp.proxyHost=abcproxy -Dhttp.proxyPort=8080 -Dhttps.proxyHost=abcproxy -Dhttps.proxyPort=8080

এটি আমাকে পাসওয়ার্ড পরিবর্তনের সাথে সাথেই সহায়তা করেছে।


11

আমি কর্পোরেট চালাচ্ছি cntlm, NTLMv2কর্পোরেট প্রক্সি দিয়ে প্রমাণীকরণ করতে পাসওয়ার্ড হ্যাশ দিয়ে কনফিগার করা এবং ব্যবহার করতে

export MAVEN_OPTS="-DproxyHost=127.0.0.1 -DproxyPort=3128"

যে প্রক্সি থেকে ব্যবহার করতে maven। অবশ্যই আপনি যে প্রক্সি ব্যবহার করেন তা cntlm/ / সমর্থন করা উচিত NTLMv2


MA উইন্ডোজের জন্য MAVEN_OPTS = -DproxyHost = 127.0.0.1 -DproxyPort = 3128 `সেট করুন
qxo

পাওয়ারশেল একটি সিস্টেম এনভায়রনমেন্ট ভেরিয়েবল সেট করতে পারে: [Environment]::SetEnvironmentVariable("MAVEN_OPTS", "-DproxyHost=127.0.0.1 -DproxyPort=3128", "Machine")
বগগিন

6

এবং এই বিষয়টিতে যুক্ত করার জন্য, নীচে আমার অভিজ্ঞতা এখানে ... সত্যই অদ্ভুত এবং সময়সাপেক্ষ তাই আমি ভেবেছিলাম এটি যুক্ত করার উপযুক্ত।

নিম্নলিখিত ত্রুটিগুলি পেয়ে উইন্ডোজে পোর্টলেট-ব্রিজ নির্মাণের চেষ্টা করতে আমার একইরকম সমস্যা হয়েছে:

ডাউনলোড হচ্ছে: http://repo1.maven.org/maven2/org/apache/portals/bridges-pom/1.0/bridges-pom-1.0.pom
[DEBUG] রেজোলিউশন ট্র্যাকিং ফাইল সি: \ ডকুমেন্টস এবং সেটিংস \ myuser 2 .m2 \ সংগ্রহস্থল \ org \ অ্যাপাচি \ পোর্টালগুলি-সেতু-পোম \ 1.0-সেতু-pom-1.0.pom.last আপডেট হয়েছে
[DEBUG] রেজোলিউশন ট্র্যাকিং ফাইল সি: \ ডকুমেন্টস এবং সেটিংস \ myuser \ .m2 \ সংগ্রহস্থল \ org \ অ্যাপাচি \ পোর্টালগুলি \ সেতু-পম \ 1.0 \ সেতু-pom-1.0.pom.last আপডেট হয়েছে
[ত্রুটি] বিল্ডটি 1 টি প্রকল্প পড়তে পারেনি -> [সহায়তা 1]
org.apache.maven.project.Project বিল্ডিংএক্সেপশন: পিওএমগুলি প্রক্রিয়া করার সময় কিছু সমস্যা দেখা দিয়েছে:
[FATAL] অ-সমাধানযোগ্য পিতাম POM: নিদর্শন স্থানান্তর করতে পারেনি
org.apache.portals: সেতু-পম: pom: 1.0 থেকে / সেন্ট্রাল (http://repo1.maven.org/maven2): ফাইল স্থানান্তর করার সময় ত্রুটি: repo1.maven.org এবং 'প্যারেন্ট.রেলেটিপ্যাথ' পয়েন্ট ভুল স্থানীয়
পিওএম @ লাইন 23, কলাম 11
...
[ত্রুটি] প্রকল্প org.apache.portals.bridges: পোর্টাল-সেতু-সাধারণ: ২.০ (এইচ: \ পাথ_ট_প্রজেক্ট \ পোর্টাল-সেতু-সাধারণ -২.০ \ পোম.এক্সএমএল) 1 টি ত্রুটি রয়েছে
[ত্রুটিযুক্ত] অ-সমাধানযোগ্য পিতামাত্ত্বিক POM: আর্টিফ্যাক্ট org.apache.portals: সেতু-পোম: পম: 1.0 থেকে সেন্ট্রাল (http://repo1.maven.org/maven2) স্থানান্তর করতে পারেন:
ফাইল স্থানান্তর করার সময় ত্রুটি: repo1.maven.org এবং 'প্যারেন্ট.রেলেটিভপথ' ভুল স্থানীয় POM @ লাইন 23, কলাম 11 এ: অজানা হোস্ট repo1.maven.org -> [সহায়তা 2]
...
[ত্রুটি] ত্রুটি এবং সম্ভাব্য সমাধান সম্পর্কে আরও তথ্যের জন্য, দয়া করে নীচের নিবন্ধগুলি পড়ুন:
[ত্রুটি] [সহায়তা 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ত্রুটি] [সহায়তা 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

কিছুটা সার্ফিংয়ের পরে আমি কয়েকটি জিনিস চেষ্টা করেছি:

  • অভিভাবক.আরলেটিভপ্যাথটি খালি হিসাবে সেট করার চেষ্টা করেছিলেন যাতে মাভেনরা পিতামাতাকে স্থানীয় মনে করেন না। এটি হডসন বিল্ড ব্যর্থ এসও-র পরামর্শ অনুসারে : অ-সমাধানযোগ্য পিতামাতা পিওএম এবং এই শক্তিশালী ফোরামে । এটির কোনও প্রভাব ছিল না।

  • আমি এটিও চেষ্টা করে দেখতে চেষ্টা করেছিলাম যে আমার সেটিংস.এক্সএমএলগুলিতে স্পষ্টভাবে সংগ্রহস্থলটি তালিকাভুক্ত ছিল তবে এটির কোনও প্রভাবও ছিল না।

  • আমি তখন নিশ্চিত করেছিলাম যে এমভিএনকে তার নিজস্ব ইতিহাসের উপর নির্ভর করার পরিবর্তে, সংগ্রহশালাটি অনুসন্ধান করতে বাধ্য করা হয়েছিল, যেমন সার্থনের এই ব্লগে আলোচিত । দুর্ভাগ্যক্রমে, এটিও সমস্যা ছিল না।

  • কিছু হতাশার মধ্যে আমি তখন আমার MAVEN_OPTS টি পুনরায় পর্যালোচনা করে নিশ্চিত করেছিলাম যে আমি আমার প্রক্সি সেটিংসে খারাপ লাগছে না। এগুলি সঠিক ছিল, মানহীন মান সত্ত্বেও:

    MAVEN_OPTS = -Dhttp.proxyHost = myproxy.mycompany.com -Dhttp.proxyPort = 8080 -Xmx256m সেট করুন

  • সুতরাং, অবশেষে, আমি আমার সেটিংস.এক্সএমএলে প্রক্সি কনফিগারেশন সরিয়ে নিয়েছি এবং এটি কাজ করেছে:

    <proxies>
      <proxy>
        <id>genproxy</id>
        <active>true</active>
        <protocol>http</protocol>
        <!--username>proxyuser</username-->
        <!--password>proxypass</password-->
        <host>myproxy.mycompany.com</host>
        <port>8080</port>
        <nonProxyHosts>*.mycompany.com|127.0.0.1</nonProxyHosts>
      </proxy>
    </proxies>

সত্যই নিশ্চিত হন না কেন सेटिंगস.এক্সএমএল কনফিগারেশনটি কাজ করার সময় আমার আসল MAVEN_OPTS কাজ করছে না (কোট?)? আমি ফিক্সটি উল্টাতে এবং প্রতিটি পদক্ষেপটি আবার দেখতে চাই তবে খুব বেশি সময় নষ্ট করেছি। কখন এবং কখন ফিরে রিপোর্ট করবে।


আপনি কি আসলে MAVEN_OPTS- তে একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড নির্দিষ্ট করেছেন?
বিএমএমনি

1
আমি মনে করি না যে আমি করেছি কিন্তু তারপরে আমার প্রক্সি সার্ভারের দরকার নেই। আপনি যদিও দেখতে পারেন, এটি সম্ভব। সুরক্ষা সমস্যাগুলি ছাড়াও, আপনি এটি ব্যবহার করে দেখতে পারেন। আমি জড়ো হয়েছি আপনি এখনও পর্যন্ত এটি পেতে সমস্যা হচ্ছে?
wmorrison365

4

আমি জানি এটি আসলে প্রশ্নের উত্তর নয়, তবে এই পোস্টটি অনুসন্ধান করা কারও পক্ষে এটি জেনে রাখা উচিত। নেক্সাসের মতো ম্যাভেন সংগ্রহস্থল প্রক্সি ইনস্টল করাও সম্ভব ।

আপনার নেভিগেশন স্থানীয় নেক্সাস প্রক্সি সাথে যোগাযোগ করার জন্য কনফিগার করা হবে, এবং নেক্সাস এর পরে নিদর্শনগুলি (এবং ক্যাশে) পুনরুদ্ধার করবে। এটি একটি ওয়েব ইন্টারফেসের মাধ্যমে কনফিগার করা যেতে পারে এবং এটির (HTTP প্রক্সি) সমর্থন রয়েছে।

এটি একটি সুবিধা হতে পারে, বিশেষত একটি কোম্পানির সেটিংয়ে, কারণ নিদর্শনগুলি স্থানীয়ভাবে উপলব্ধ এবং দ্রুত ডাউনলোড করা যেতে পারে, এবং আপনি আর বাহ্যিক মাভেন সংগ্রহস্থলের উপলভ্যতার উপর নির্ভর করেন না।

প্রশ্নের সাথে আবার লিঙ্ক করতে; নেক্সাসের সাথে প্রক্সি কনফিগারেশনের জন্য একটি দুর্দান্ত জিইউআই রয়েছে এবং এটি কেবলমাত্র এক জায়গায় করা দরকার, প্রতিটি বিকাশকারীর পক্ষে নয়।


3

আপনি যদি মাভেনের জন্য প্রক্সি সেটআপে নতুন হন আমার ক্ষেত্রে প্রথমে আপনার হোম ফোল্ডারের আবহাওয়াটি ফোল্ডার রয়েছে তা যাচাই করুন .m2এবং এতে একটি ফাইল settings.xmlতৈরি করা উচিত নয় যদি এটি তৈরি না করে থাকে, এবং এটি আটকে দিন এবং পরিবর্তন করুন hostএবং portপ্রয়োজনে যদি পরিবর্তনটি পরিবর্তন করা হয়nonProxyHosts

হোম ফোল্ডার - সি: \ ব্যবহারকারী \ {ব্যবহারকারী নাম}

<settings>
<proxies>
    <proxy>
        <id>httpproxy</id>
        <active>true</active>
        <protocol>http</protocol>
        <host>your-proxy-host</host>
        <port>your-proxy-port</port>
        <nonProxyHosts>localhost</nonProxyHosts>
    </proxy>
<proxy>
        <id>httpsproxy</id>
        <active>true</active>
        <protocol>https</protocol>
        <host>your-proxy-host</host>
        <port>your-proxy-port</port>
        <nonProxyHosts>localhost</nonProxyHosts>
    </proxy>

</proxies>
</settings>

যদি কোনও ক্ষেত্রে এটি সফলতা না পায় এবং হোম ফোল্ডারের এই অবস্থানে পরিবর্তনগুলি করুন

/conf/settings.xml

আমি Eclipse কে আমার IDE হিসাবে ব্যবহার করছি
আশা করি এটি সাহায্য করবে !!

দ্রষ্টব্য: প্রক্সিটি সরাতে কেবল settings.xmlঅন্য কোনও জায়গায় যান move


প্রক্সিটি সরাতে কেবল কিছু অন্যান্য
সেটিংস.এক্সএমএল সরান

1

প্রক্সির মাধ্যমে ম্যাভেন কাজ কিন্তু প্লাগিন এটা invoking হয় কিছু, সেট করার চেষ্টা যদি JAVA_TOOL_OPTIONSপাশাপাশি সঙ্গে-Dhttp*.proxy* সেটিংসের সেটিংস ।

যদি আপনি ইতিমধ্যে JAVA_OPTSস্রেফ না

export JAVA_TOOL_OPTIONS=$JAVA_OPTS

0

উপরে উল্লিখিত কৌশলগুলি ব্যতীত, কিছু চেষ্টা করে, আপনি জেপ্রিপ্রক্সিলোডার লাইব্রেরি ব্যবহার করে প্রক্সি দিয়ে মাভেন চালাতে পারেন (এটি কীভাবে করবেন তা পৃষ্ঠায় উদাহরণ রয়েছে: http://jproxyloader.sourceforge.net/ )। এটি কেবল নিদর্শনগুলি ডাউনলোড করার জন্য মোজা প্রক্সি সেট আপ করতে দেয়।

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


0

কিছু সময় আপনাকে অন্যান্য <proxy></proxy>ট্যাগ যুক্ত করতে হবে এবং প্রোটোকল ট্যাগগুলিতে https নির্দিষ্ট করতে হবে:<protocol>https</protocol>


0

উপরের পোস্টগুলি আমার সমস্যা সমাধানে সহায়তা করেছে। এটির কাজ করতে আমাকে উপরেরগুলি ছাড়াও নিম্নলিখিত পরিবর্তনগুলি করতে হয়েছিল:

  • সিস্টেমের প্রক্সি সেটিংস ব্যবহার করতে মাভেনের জেআরই নেট সেটিংস (\ jre \ lib \ net.properties) পরিবর্তিত।

    https.proxyHost=proxy DNS
    https.proxyPort=proxy port
  • সেটিংস.এক্সএমএলে প্রক্সি সার্ভার সেটিংস অন্তর্ভুক্ত। এনটিএলএম প্রমাণীকরণ ব্যবহার করার জন্য আমি ব্যবহারকারীর নাম এবং পাসওয়ার্ড সেটিংস সরবরাহ করি নি।


0

ম্যাভেন উপলব্ধ একটি বিল্ট-ইন এই কাজ করার পদ্ধতি, নামক একটি ফাইল মাধ্যমে settings.xml , এবং এই অন্যান্য উত্তর মধ্যে আবৃত করা হয়েছে। যাইহোক, কমান্ড-লাইন সরঞ্জামগুলির জন্য পরিবেশ পরিবর্তনশীল দ্বারা নির্দিষ্ট করা প্রক্সিটিhttps_proxy স্বয়ংক্রিয়ভাবে ব্যবহার করার জন্য এটি বিশেষত লিনাক্সে প্রথাগত ।

অনুসরণ করতে না নিজেকে পুনরাবৃত্তি নীতি (যা আপনাকে সাহায্য ভুল এড়ানোর জন্য দেয়ার উদ্দেশ্যে করা হচ্ছে), যদি সুন্দর হবে mvnস্বয়ংক্রিয়ভাবে সেটি সাথেও কাজ করতে পারে।

এখানে একটি শেল স্ক্রিপ্ট যা প্রয়োজনীয় রূপান্তর করে:

#! /usr/bin/env bash

function javaproxy {
    ## using "Shell Parameter Expansion"
    request_scheme=$1 ; proxy=$2
    notscheme=$(echo ${proxy#*://}) ## parse
    scheme=$(echo ${proxy%${notscheme}}) ## remove
    scheme=$(echo ${scheme%://}) ## strip
    hostport=$(echo ${proxy#*//*}) ## parse
    host=$(echo ${hostport%:*}) ## parse
    port=$(echo ${hostport#${host}}) ## remove
    port=$(echo ${port#:}) ## strip
    scheme=$(echo ${scheme:-http}) ## default
    host=$(echo ${host:-localhost}) ## default
    port=$(echo ${port:-8080}) ## default
    echo -n " -D${request_scheme}.proxyHost=${host}"
    echo -n " -D${request_scheme}.proxyPort=${port}"
}

JTO=""

if [ $http_proxy ] ; then
    JTO="${JTO}$(javaproxy http ${http_proxy})"
fi

if [ $https_proxy ] ; then
    JTO="${JTO}$(javaproxy https ${https_proxy})"
fi

if [ $no_proxy ] ; then
    JTO="${JTO} -Dhttp.nonProxyHosts=$(echo \"${no_proxy}\"|tr ',' '|')"
fi

   export JAVA_TOOL_OPTIONS=${JTO}
   echo "JAVA_TOOL_OPTIONS=${JAVA_TOOL_OPTIONS}"

   mvn_friendliness_options+=--update-snapshots
   mvn ${mvn_friendliness_options} $@

আপনি proxied_mvnএটির মতো নাম রাখতে পারেন এবং এটি চালিয়ে যান:

$ https_proxy=http://localhost:58080 ./proxied_mvn clean package

বিকল্পভাবে, আপনি কেবল পরিবেশ সূচনাটি আপনার স্টার্টআপ স্ক্রিপ্টগুলিতে সরিয়ে নিতে পারেন।

gotchas

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

  • নেক্সাস শংসাপত্রগুলি উপলব্ধ এবং সঠিক (কেবলমাত্র প্রয়োজন হলে)

    পরিক্ষা কর mvn help:effective-settings

  • মাভেন ক্যাচিং: "রেজুলেশন পুনরায় চেষ্টা করা হবে না"

    mvn clean package --update-snapshots

  • মাভেন ওয়ালে-অফ-টেক্সট আউটপুট - ত্রুটি বার্তাগুলি রানের মধ্যে সূক্ষ্মভাবে আলাদা নয় তা নিশ্চিত করার জন্য আপনাকে আউটপুটটি ঘনিষ্ঠভাবে দেখতে হবে

  • জাভা এর পুরানো সংস্করণগুলির _JAVA_OPTIONSপরিবর্তে প্রয়োজন হতে পারে JAVA_TOOL_OPTIONS

উপসংহার

একাধিক ধরণের প্রক্সি রয়েছে । অনুরূপভাবে, এখানে একাধিক উপায় যা এই প্রশ্নের ব্যাখ্যা করা হয়েছে - এখানে প্রচুর পরিমাণে বৈষম্য উত্তরের অবদান রয়েছে।

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

ওহ, যাইহোক, এটি যেহেতু এটি ব্যবহার করে JAVA_TOOL_OPTIONS, এই সমাধানগুলি আপনার অন্য জাভা অ্যাপ্লিকেশনগুলিকেও প্রক্সিটির অভ্যন্তরে চালানোর জন্য প্রয়োগ করা যেতে পারে ।


পার্টিং ইঙ্গিত ... উপরে আমার উদাহরণ ব্যবহার http://localhost:58080। এটি কারণ যে আমি চালাতে আমার দূরবর্তী অ্যাক্সেস ক্লায়েন্টে ডাব্লুএসএলCLIENT_PROXY=localhost:58080 ব্যবহার করে আমার থেকে প্রকৃত নেটওয়ার্ক প্রক্সিতে পোর্ট-ফরোয়ার্ডিং সেট আপ করেছি :

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