प्रोगार्ड के साथ भ्रमित करने के लिए OSGi घोषणात्मक सेवा के उपयोग के लिए कीप विकल्प क्या है

नीचे दिए गए उदाहरण का जिक्र करते हुए, मुझे प्रोगार्ड को हटाए बिना डीएस प्रासंगिक कार्यों को रखने की जरूरत है, क्योंकि यह संदर्भ नहीं ढूंढ सकता है

@Component
public class RandomApp {

    private RandomGenApi randomGenApi;

    @Reference
    public void setRandomGenService(RandomGenApi randomGenApi) {
        this.randomGenApi = randomGenApi;
    }
      
    
    @Activate
    void startRandomApp() {
        System.out.println("Startig RandomApp...");          

    }
1
jafarmlp 25 नवम्बर 2020, 13:43

1 उत्तर

सबसे बढ़िया उत्तर

मैं ओएसजीआई सेवाओं को प्रवेश बिंदु के रूप में परिभाषित करके इसे प्राप्त कर सकता था। परिभाषित किए जाने वाले रख-रखाव विकल्प यहां दिए गए हैं

#Keep annotations.
-keepattributes *Annotation*

#Keep all Component classes
-keep @org.osgi.service.component.annotations.Component class *

#Kepp all Component classes member functions with OSGi specific annotations
-keepclassmembers @org.osgi.service.component.annotations.Component class * {
   #Keep all methods with annotatios Reference.
   @org.osgi.service.component.annotations.Reference *;
   #Keep all methods with annotatios Activate.
   @org.osgi.service.component.annotations.Activate *;   
}
1
jafarmlp 25 नवम्बर 2020, 10:43