2017-10-17 15 views
5

मैं कुछ विरासत जावा कोड है में संकलित करने के लिए .:, यानी ग्रहण

package org.alo.test.j9; 
import javax.activation.DataHandler; // in java.activation module 
import javax.annotation.PostConstruct; // in java.xml.ws.annotation module 
public class OldClass { 
    public static void main(String[] args) { 
     DataHandler dh = new DataHandler(null, null); 
     System.out.println(dh); 
    } 
} 

कि अभी तक आधुनीकीकरण नहीं है जावा 9 प्रणाली मॉड्यूल जोड़ने तो यह जावा 9. साथ

यह संकलन करने --add-modules उपयोग करने के लिए की आवश्यकता है
$ javac -version 
javac 9 
$ javac org/alo/test/j9/OldClass.java 
src/org/alo/test/j9/OldClass.java:3: error: package javax.activation is not visible 
import javax.activation.DataHandler; // in java.activation module 
      ^
    (package javax.activation is declared in module java.activation, which is not in the module graph) 
src/org/alo/test/j9/OldClass.java:4: error: package javax.annotation is not visible 
import javax.annotation.PostConstruct; // in java.xml.ws.annotation module 
      ^
    (package javax.annotation is declared in module java.xml.ws.annotation, which is not in the module graph) 
2 errors 

मैं सफलतापूर्वक संकलित करने के लिए सक्षम होने के लिए आदेश में मॉड्यूल मैं उपयोग कर रहा हूँ जोड़ने की जरूरत:

$ javac org/test/OldClass.java --add-modules=java.activation,java.xml.ws.annotation 

मैं इसे जावा 9 के साथ एक्लिप्स (ऑक्सीजन .1 ए का उपयोग करके) में संकलित करना चाहता हूं लेकिन मुझे The import javax.activation cannot be resolved संकलन त्रुटि मिलती है।

मैं इन मॉड्यूल को जोड़ने के लिए ग्रहण कंपाइलर को कैसे बता सकता हूं? मुझे इसके बारे में Eclipse documentation में कोई टिप नहीं मिली।

Here आप एक साधारण ग्रहण परियोजना ढूंढ सकते हैं जिसके साथ मैं परीक्षण कर रहा हूं।

+1

संभावित डुप्लिकेट [जावा 9 में javax.activation पैकेज के प्रतिस्थापन क्या है?] (Https://stackoverflow.com/questions/46493613/what-is-the-replacement-for-javax-activation-package- इन-जावा -9)। इसे अस्वीकार और अपग्रेड करने का कारण है। – nullpointer

+1

@nullpointer यह इस प्रश्न का डुप्लिकेट नहीं है। –

+1

उस स्थिति में, क्या आप प्रोजेक्ट सेटिंग्स के साथ उपयोग में ग्रहण की रन कॉन्फ़िगरेशन साझा कर सकते हैं? – nullpointer

उत्तर

1

इन सुविधाओं के लिए पूर्ण दस्तावेज़ अभी भी लिखे जाने की जरूरत है, लेकिन एक शुरुआत New & Noteworthy for Photon M3 (प्रगति में काम) में किया गया है। कार्यक्षमता आप देख रहे हैं

एक कंटेनर के अंदर सामग्री टैब व्यक्तिगत मॉड्यूल पर के साथ शुरू पैरा में उल्लेख किया है की तरह JRE सिस्टम लाइब्रेरी शामिल या से मॉड्यूल ले जाकर बाहर रखा जा सकता बाएँ-से-सही या ठीक इसके विपरीत ...

यह संवाद टैब --add-modules और --limit-modules के प्रभाव को जोड़ता है।

संबंधित मुद्दे