"পিক আপ _ জেভিএ_অপশন" বার্তাটি দমন করা


13

আমি আরএইচইএল-তে জাভার জন্য কিছু ডিফল্ট সেট করতে _ জেভিএ_অপশন ব্যবহার করছি। এটি দুর্দান্ত কাজ করে তবে এখন যতবারই আমি জাভা শুরু করি আমি নিম্নলিখিত বার্তাটি পাই

 Picked up _JAVA_OPTIONS: -foo -bar -baz

বিকল্পগুলি রাখা কিন্তু এই বার্তার প্রদর্শনকে দমন করা কি সম্ভব?

উত্তর:


11

জাভা প্রায়শই পরম পথে যেমন ডাকা হয় /usr/bin/java, যা এই উত্তরটি কিছু ক্ষেত্রে অকেজো করে তোলে এবং অন্যকে এটি কাজ করার জন্য আরও বেশি প্রয়োজন।

আমি যে সমাধানটি পেয়েছি তার জন্য একটি মোড়কের শেল স্ক্রিপ্ট লেখা দরকার যা আপত্তিজনক লাইনটি সরিয়ে একটি ফিল্টারের মাধ্যমে এসটিডিআরআর পুনঃনির্দেশ করে। এটি $PATHজাভা বাইনারি মোড়ানোর আগে এটি স্থাপন করতে হবে এবং সরল java, which javaবা অনুরূপ (বা আপনার সরঞ্জাম এটি ব্যবহারের জন্য কনফিগার করতে হবে) দিয়ে কল করতে হবে)

এটি প্রথম বন্ধনীর সাথে (command)সাবসেল তৈরি করার জন্য বাশ সক্ষমতার উপর নির্ভর করে এবং জাভা এর এসটিডিআরআরটিকে তার এসটিডিনে পুনর্নির্দেশ করবে command1 2> >(command2)। শেষ অবধি, সাব-শেলের প্রক্রিয়াটির জন্য তার ফিল্টার করা ইনপুটটি আবার STDOUT এ পুনর্নির্দেশ করা দরকার যাতে জাভা প্রোগ্রামগুলি এখনও STDERR ব্যবহার করতে পারে।

#!/bin/bash
/usr/bin/java "$@" 2> >(grep -v "^Picked up _JAVA_OPTIONS:" >&2)

সম্ভবত ভয়ানক অনুশীলন, কিন্তু এটি একটি Docker ইমেজ জন্য এবং আমি এ সব কিছুই অনেক লাল ক্লান্ত পেয়েছিলাম docker build- কিন্তু আমি নতুন নামকরণ ${JAVA_HOME}/bin/javaকরার java2এবং সেখানে এই স্ক্রিপ্টের একটি পরিবর্তিত সংস্করণ করা java(সঙ্গে chmod +x)। মোহন মত কাজ!
BrainSlugs83

2

অথবা আপনি এটি আপনার শেল স্টার্টআপ / প্রোফাইল ফাইলগুলিতে রাখতে পারেন:

_SILENT_JAVA_OPTIONS="$_JAVA_OPTIONS"
unset _JAVA_OPTIONS
alias java='java "$_SILENT_JAVA_OPTIONS"'

এটি কেবল তখনই কাজ করে যখন সরাসরি java ...কমান্ড লাইনের মাধ্যমে আবেদন করা হয়। স্ক্রিপ্ট বা অন্যান্য অভিভাবক প্রক্রিয়াগুলির মাধ্যমে সমস্ত জাভা অনুরোধগুলি প্রভাবিত হবে না
sheep

ভাল, আপনি / বিন / জাভাটিকে শেল স্ক্রিপ্ট হিসাবে পরিবর্তন করতে পারেন যা আপনি যদি সত্যিই চান তবে একই কাজ করে।
spelufo

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