কমান্ড লাইন থেকে অ্যাকলিপস জাভা প্রকল্প তৈরি করুন


118

কমান্ড লাইন থেকে কোনও গ্রহ-ভিত্তিক জাভা প্রকল্পটি সংকলনের কোনও উপায় আছে কি?

আমি আমার বিল্ডটি স্বয়ংক্রিয়ভাবে চালানোর চেষ্টা করছি (ফাইনালবিল্ডার না পিঁপড় ব্যবহার করে), এবং আমি জাভা বা একলাইপ বিশেষজ্ঞ না। আমি সম্ভবত সোজা জাভা কমান্ড লাইন বিকল্পগুলির সাহায্যে এটি কীভাবে করব তা অনুগ্রহ করতে পারি, তবে তারপরেই উপগ্রহ প্রকল্পটি অনেকটা নষ্ট প্রচেষ্টা মনে করে।

কমান্ড লাইনের মাধ্যমে কোনও একিপ্লিজ প্রকল্প সঙ্কলনের কোনও উপায় নেই সে ক্ষেত্রে, Eclipse এর মধ্যে থেকে প্রয়োজনীয় জাভা কমান্ড লাইন উত্পন্ন করার কোনও উপায় আছে কি? বা এমন কিছু ফাইল রয়েছে যা আমি পর্দার আড়ালে এটি সম্পাদন করছে এমন সংকলন পদক্ষেপগুলি খুঁজে পেতে আশেপাশে ঝাঁকুনি দিতে পারি?


বন্ধুরা, আমি এমন একটি উত্তর খুঁজছি যা পিপীলিকার অন্তর্ভুক্ত নয় । আসল প্রশ্নটি আমার পুনরায় পুনরাবৃত্তি করা যাক ....... কমান্ড লাইন থেকে একটি গ্রহন প্রকল্প নির্মাণের কোনও উপায় আছে কি?

ভিজ্যুয়াল স্টুডিওর জন্য আমি এরকম কিছু করতে পারি বলে আমি মনে করি এটি একটি অযৌক্তিক প্রশ্ন নয়:

devenv.exe /build "Debug|Any CPU" "C:\Projects\MyProject\source\MyProject.sln"

3
কিভাবে এই জন্য একটি প্লাগইন / জার নেই !!
কিভেলি

1
ঠিক আছে ... আমি একটি নতুন সঠিক উত্তর যুক্ত করেছি।
কিভেলি

উত্তর:


61

আপনি কমান্ড লাইন থেকে একটি ওয়ার্কস্পেসের মাধ্যমে একটি ग्रहण প্রকল্প তৈরি করতে পারেন:

eclipsec.exe -noSplash -data "D:\Source\MyProject\workspace" -application org.eclipse.jdt.apt.core.aptBuild

এটি jdt aptআপনার ওয়ার্কস্পেসটি স্বয়ংক্রিয়ভাবে তৈরি করতে প্লাগইন ব্যবহার করে । এটি 'হেডলেস বিল্ড' নামেও পরিচিত। ধিক্কার জানাই শক্ত। আপনি যদি উইন 32 এক্স ব্যবহার না করে থাকেন তবে আপনি এটি ব্যবহার করে দেখতে পারেন:

java -cp startup.jar -noSplash -data "D:\Source\MyProject\workspace" -application org.eclipse.jdt.apt.core.aptBuild

হালনাগাদ

বেশ কয়েক বছর আগে গ্রহনটি startup.jar"ইকুইনক্স লঞ্চ" দিয়ে প্রতিস্থাপন করা হয়েছিল

https://wiki.eclipse.org/Equinox_Launcher

গ্রহগ্রহ মঙ্গল গ্রহে (ম্যাকওএক্স):

java -jar /Applications/Eclipse.app/Contents/Eclipse/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -noSplash -data "workspace" -application org.eclipse.jdt.apt.core.aptBuild

-dataপরামিতি আপনার কর্মক্ষেত্র অবস্থান নির্দিষ্ট করে।

ইকুইনক্স লঞ্চের সংস্করণ নম্বরটি আপনার গ্রহণের কী সংস্করণ রয়েছে তার উপর নির্ভর করবে।


4
যদিও আমি দীর্ঘদিন থেকে এই প্রকল্পটি থেকে সরে এসেছি এবং এই উত্তরটি আসলে কার্যকর হয় কিনা তা যাচাই করতে পারছি না, তবে আমি এইটির গৃহীত উত্তরটি পরিবর্তন করছি। কারণ এটি সূচিত করে যে Eclipse আসলে একটি কমান্ড লাইন সুইচ আছে।
কিথ জি

3
কেবল একটি চিন্তা - মনে হচ্ছে এটি কেবল প্রাক-বিদ্যমান ওয়ার্কস্পেসের জন্য কাজ করে। আমি অনুমান করি এটি উদাহরণস্বরূপ, উত্স নিয়ন্ত্রণ থেকে প্রকল্পটি চেকআউট করে এবং এটিকে এটি তৈরি করে hard
জন

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

2
আপনি বিল্ড ফলাফলগুলি কীভাবে দেখেন? আমি এটি চেষ্টা করে দেখেছি এবং আউটপুট পেয়েছি: "বিল্ডিং ওয়ার্কস্পেস", তবে বিল্ডটি সফল হয়েছে কিনা তা সম্পর্কে আমি কোনও ইঙ্গিত পাইনি।
ডিকলা

আপনি একটি কমান্ড লাইন পিঁপড়ের স্ক্রিপ্টের মাধ্যমে আপনার কর্মক্ষেত্র তৈরি করতে পারেন। দেখুন help.eclipse.org/indigo/...
reprogrammer

22

আন্ড্রির উত্তর সম্পূর্ণ করতে, একটি পিপীলিকার সমাধান ইম্যাক্স, জেডিইই, পিঁপড়া এবং একটিগ্রাহী জাভা সংকলক হিসাবে বর্ণিত যেমনটি হতে পারে :

      <javac
          srcdir="${src}"
          destdir="${build.dir}/classes"> 
        <compilerarg 
           compiler="org.eclipse.jdt.core.JDTCompilerAdapter" 
           line="-warn:+unused -Xemacs"/>
        <classpath refid="compile.classpath" />
      </javac>

সংকলন উপাদান আপনাকে গ্রাহক সংকলকটিতে অতিরিক্ত কমান্ড লাইন আর্গগুলিতে যেতে দেয়।

আপনি একটি খুঁজে পেতে পারেন এখানে সম্পূর্ণ পিপীলিকার স্ক্রিপ্ট উদাহরণ যা একটি কমান্ড লাইনে এই সাথে ডাকা হবে :

java -cp C:/eclipse-SDK-3.4-win32/eclipse/plugins/org.eclipse.equinox.launcher_1.0.100.v20080509-1800.jar org.eclipse.core.launcher.Main -data "C:\Documents and Settings\Administrator\workspace" -application org.eclipse.ant.core.antRunner -buildfile build.xml -verbose

কিন্তু পিঁপড়ে জড়িত সমস্ত কিছুই, যা কিথের পরে নেই।

ব্যাচের সংকলনের জন্য দয়া করে উল্লেখ করুন সংকলন জাভা কোড , বিশেষ করে অধ্যায় " ব্যাচ কম্পাইলার ব্যবহার "

ব্যাচ সংকলক ক্লাসটি জেডিটি কোর প্লাগ-ইনে অবস্থিত। শ্রেণীর নাম org.eclipse.jdt.compiler.batch.BatchCompiler। এটি প্লাগইনগুলি / org.eclipse.jdt.core_3.4.0..jar এ প্যাকেজ করা আছে। ৩.২ থেকে এটি পৃথক ডাউনলোড হিসাবেও উপলব্ধ। ফাইলটির নাম ecj.jar।
৩.৩ থেকে, এই জারে jsr199 (সংকলক API) এবং jsr269 (টিকা প্রক্রিয়াকরণ) এর জন্য সমর্থনও রয়েছে contains টীকাগুলি প্রসেসিং সমর্থনটি ব্যবহার করার জন্য, একটি 1.6 ভিএম প্রয়োজন।

কমান্ড লাইন থেকে ব্যাচ সংকলক চালানো হবে

java -jar org.eclipse.jdt.core_3.4.0<qualifier>.jar -classpath rt.jar A.java

বা:

java -jar ecj.jar -classpath rt.jar A.java

সমস্ত জাভা সংকলনের বিকল্পগুলি সেই বিভাগেও বিশদভাবে রয়েছে।

ভিজ্যুয়াল স্টুডিও কমান্ড লাইন সংকলন বৈশিষ্ট্যের সাথে পার্থক্যটি হল যে Eclipse সরাসরি তার। প্রজেক্ট এবং .classpath একটি কমান্ড-লাইন আর্গুমেন্টে পড়ে না বলে মনে হয় । খুব একই সংকলনের ফলাফল অর্জনের জন্য আপনাকে বিভিন্ন কমান্ড-লাইন বিকল্পে। প্রকল্প এবং .classpath- এ থাকা সমস্ত তথ্যের প্রতিবেদন করতে হবে।

সুতরাং, তারপরে সংক্ষিপ্ত উত্তরটি হ'ল: "হ্যাঁ, গ্রহণের ধরণের কাজ করে।" ;)


2
এন্ট 4 স্লিপিজ প্রজেক্টটি ব্যবহার করে Eclipse প্রজেক্টের সাথে একটি ওয়ার্কস্পেস সংকলন করা সম্ভব তবে আপনার প্রচুর মেটা তথ্যের উপর ভিত্তি করে ম্যানুয়ালি সমস্ত প্রয়োজনীয় পদক্ষেপগুলি করার প্রয়োজন কারণ এতে প্রচুর কনুই গ্রীস প্রয়োজন। আমি আমাদের ইনহাউস প্রকল্পগুলির জন্য এটি সম্পন্ন করেছি, তবে আপনার যদি সত্যিই দরকার না হয় আমি এটিকে প্রস্তাব দেব না! আমরা করেছি :
ডি

@ থরবজর্ন রাভন অ্যান্ডারসন: এই মতামতের জন্য আপনাকে ধন্যবাদ। আপনি এখানে এই জড়িত "কনুই
গ্রাইস

ভাল, আমি ant4eclipse এর ভিত্তিতে যা একসাথে হ্যাক করেছি - যার জন্য একটি "প্রজেক্টসেট.পিএসএফ ফাইলের প্রয়োজন -" রফতানি চলমানযোগ্য জার "কার্যকারিতা অনুকরণ করতে খুব সুন্দর কোনও উত্তর নেই। এ ছাড়া এটি Eclipse চালাচ্ছে না, বরং পিঁপড়া ব্যবহার করে
Elpipse

এই পুরানো উত্তরটি জুড়ে এসেছিল: আমরা "এক্লিপস কনফিগারেশন ফাইল ব্যবহার করে অনুকরণকৃত একলিপস বিল্ড" দীর্ঘমেয়াদে খুব ভঙ্গুর হতে দেখেছি এবং অন্যকে সে পথে না যাওয়ার জন্য আমি দৃ strongly়ভাবে পরামর্শ দেব। পরিবর্তে ম্যাভেন প্রকল্পগুলি ব্যবহার করুন।
থরবজর্ন রাভন অ্যান্ডারসন

1
@ জেফপুকেটআইআই আপনাকে ধন্যবাদ আমি লিঙ্কটি পুনরুদ্ধার করেছি।
ভনসি

8

২ 27 বছর পরে আমিও আইডিইতে বিকাশ করতে অস্বস্তি বোধ করি। আমি এই পরামর্শগুলি (উপরে) চেষ্টা করেছিলাম - এবং সম্ভবত ঠিক সমস্ত কিছু অনুসরণ করি নি - তাই আমি একটি ওয়েব-অনুসন্ধান করেছিলাম এবং ' http://incise.org/android-de વિકાસment - on - the- এ আমার জন্য কী কাজ করেছে তা খুঁজে পেয়েছি- কমান্ড-লাইনhtml '।

উত্তরটি উপরের সমস্ত উত্তরের সংমিশ্রণ বলে মনে হয়েছিল (দয়া করে আমি ভুল হলে আমাকে বলুন এবং যদি তা থাকে তবে আমার ক্ষমা প্রার্থনা করুন)।

উপরে উল্লিখিত হিসাবে, গ্রহণ / অ্যাডটি প্রয়োজনীয় পিঁপড়া ফাইল তৈরি করে না। গ্রহন আইডিই (এবং পিপীলিকার স্ক্রিপ্ট তৈরি না করে) সংকলন করার জন্য:

1) আপনার শীর্ষ স্তরের ডিরেক্টরিতে build.xML তৈরি করুন:

android list targets  (to get target id used below)

android update project --target target_id --name project_name  --path top_level_directory

   ** my sample project had a target_id of 1 and a project name of 't1', and 
   I am building from the top level directory of project
   my command line looks like android update project --target 1 --name t1 --path `pwd`

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

 ant target

    this confused me a little bit, because i thought they were talking about the
    android device, but they're not.  It's the mode  (debug/release)
    my command line looks like  ant debug

3) ডিভাইসে এপিকে ইনস্টল করতে আমাকে আবার পিপড়া ব্যবহার করতে হয়েছিল:

 ant target install

    ** my command line looked like  ant debug install

4) আমার অ্যান্ড্রয়েড ফোনে প্রকল্পটি চালাতে আমি অ্যাডবি ব্যবহার করি।

 adb shell 'am start -n your.project.name/.activity'

    ** Again there was some confusion as to what exactly I had to use for project 
    My command line looked like adb shell 'am start -n com.example.t1/.MainActivity'
    I also found that if you type 'adb shell' you get put to a cli shell interface
    where you can do just about anything from there.

3 এ) একটি পার্শ্ব নোট: ডিভাইস ব্যবহার থেকে লগটি দেখতে:

 adb logcat

3 বি) দ্বিতীয় পক্ষের নোট: উপরে উল্লিখিত লিঙ্কটিতে কমান্ড থেকে পুরো প্রকল্পটি নির্মাণের নির্দেশাবলীও অন্তর্ভুক্ত রয়েছে।

আশা করি, এটি প্রশ্নের সাথে সহায়তা করবে। আমি জানি আমি এখানে এই বিষয় সম্পর্কে কিছু পেয়ে সত্যিই খুশি হয়েছিলাম ।


1
যদি প্রকল্পটি ইতিমধ্যে নির্মিত হয় (ডিবাগ মোড এফ। এক্সে) আপনি ant installdবিল্ডিং ছাড়াই ইনস্টল করতে ব্যবহার করতে পারেন
serv-inc

4

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


4
প্রতিটি বিকাশকারীকে তাদের আচরণ পরিবর্তন করতে বলার পরিবর্তে বর্তমান কর্মপ্রবাহ অনুকরণ করা প্রায়শই খুব সুন্দর। বিশেষত যখন গ্রীকটি পিঁপড়ার চেয়ে অনেক দ্রুত হয়।
থোরবজর্ন রাভন অ্যান্ডারসন

2

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


1

এটিতে আমার দুটি সেন্ট যুক্ত করতে চেয়েছিল। @ কিভেলি নন উইন 32 (নীচে পুনরাবৃত্তি করা) জন্য প্রস্তাবিত হিসাবে আমি চেষ্টা করার চেষ্টা করেছি তবে এটি আমার পক্ষে কার্যকর হয়নি (সেন্টোস-এ এলিপিস সহ: লুনা):

java -cp startup.jar -noSplash -data "D:\Source\MyProject\workspace" -application org.eclipse.jdt.apt.core.aptBuild

এক্সট্রি (লুনা) ব্যবহার করে সেন্টোসের উপর আমার বিশেষ সেটআপটিতে এটি কাজ করেছে:

$ECLIPSE_HOME/eclipse -nosplash -application org.eclipse.jdt.apt.core.aptBuild  startup.jar -data ~/workspace

আউটপুটটি দেখতে কিছুটা দেখতে পাওয়া উচিত:

Building workspace
Building '/RemoteSystemsTempFiles'
Building '/test'
Invoking 'Java Builder' on '/test'.
Cleaning output folder for test
Build done
Building workspace
Building '/RemoteSystemsTempFiles'
Building '/test'
Invoking 'Java Builder' on '/test'.
Preparing to build test
Cleaning output folder for test
Copying resources to the output folder
Analyzing sources
Compiling test/src/com/company/test/tool
Build done

কেন এটি দৃশ্যত এটি দু'বার করেছে তা পুরোপুরি নিশ্চিত নয় তবে এটি কাজ করে বলে মনে হচ্ছে।


0

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

সুতরাং আমি ক্লাসপথে ক্লাসগুলি যুক্ত করেছি (যা আমাদের তর্ক হিসাবে পাস করতে হবে) এবং এখন এটির কাজ ঠিক আছে ... :)

কুলবীর সিং


-3

সংক্ষিপ্ত উত্তর. নং গ্রহদে কোনও প্রকল্প তৈরির জন্য ভিজ্যুয়াল স্টুডিওর মতো কমান্ড লাইন সুইচ নেই।


5
সংক্ষিপ্ত উত্তর: হ্যাঁ গ্রহণের ধরণের কাজ করে। আপনি বিভিন্ন কমান্ড-লাইন বিকল্পগুলিতে। প্রকল্প এবং। ক্লাসপাথের সমস্ত তথ্য রিপোর্ট করতে ব্যতীত
ভোনসি

অন্যান্য প্রতিক্রিয়াগুলিতে উল্লিখিত হিসাবে বাহ্যিক (এক্লিপ্সে) পিঁপড়া বা ম্যাগেনের মতো বিল্ড সলিউশন সাধারণত এর জন্য ব্যবহৃত হয়।
জেআর লাহোর্ন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.