क्या जावा सुरक्षा प्रबंधक को पूरी तरह अक्षम करने का कोई तरीका है?
जावा सुरक्षा प्रबंधक को कैसे अक्षम करें?
मैं डीबी 4o के स्रोत कोड के साथ प्रयोग कर रहा हूं। यह वस्तुओं को जारी रखने के लिए प्रतिबिंब का उपयोग करता है और ऐसा लगता है कि सुरक्षा प्रबंधक निजी या संरक्षित क्षेत्रों को पढ़ने और लिखने के प्रतिबिंब की अनुमति नहीं देता है।
मेरे कोड:
public static void main(String[] args) throws IOException {
System.out.println("start");
new File(DB_FILE_NAME).delete();
ObjectContainer container = Db4o.openFile(DB_FILE_NAME);
String ob = new String("test");
container.store(ob);
ObjectSet result = container.queryByExample(String.class);
System.out.println("retrieved (" + result.size() + "):");
while(result.hasNext()) {
System.out.println(result.next());
}
container.close();
System.out.println("finish");
}
आउटपुट:
start [db4o 7.4.68.12069 2009-04-18 00:21:30] AccessibleObject#setAccessible() is not available. Private fields can not be stored. retrieved (0): finish
This thread पता चलता है java.policy फ़ाइल को संशोधित करने के प्रतिबिंब अनुमति देने के लिए, लेकिन यह मेरे लिए काम करने के लिए प्रतीत नहीं होता।
grant { permission java.security.AllPermission; permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; };
मैं पिछले 3 घंटे बिताए: तर्क के साथ
मैं शुरू कर JVM
-Djava.security.manager -Djava.security.policy==/home/pablo/.java.policy
तो निर्दिष्ट नीति फ़ाइल केवल नीति फ़ाइल का उपयोग किया
फ़ाइल इस तरह दिखता हो जाएगा यह और इस विचार को बनाने के लिए कोई विचार नहीं है। किसी भी मदद की सराहना की।
क्या आपने सेट अप करने योग्य या अन्य विशेषाधिकार प्राप्त कार्यों को अपने कोड से कॉल करने का प्रयास किया है? –
पूर्ण कमांड लाइन भी उपयोगी हो सकती है। –
क्या आपके वीएम तर्क सही हैं? आपके पास लगता है -Djava.security.policy ==? –