दिलचस्प पोस्ट
मैं जावा में HTTP शीर्ष लेख से आईपी पते कैसे प्राप्त कर सकता हूं दृश्य स्टूडियो में संकलित करते समय एक अलग फ़ोल्डर में DLL को कैसे सहेजना है? डॉट (।) ऑपरेटर और -> सी ++ में अंतर क्या है? गैर-श्रेणी के गुणों में हमेशा सीवी-अयोग्य प्रकार होते हैं एक हार्डवेयर कीबोर्ड जुड़ा हुआ है, भले ही iPhone सॉफ्ट कीबोर्ड दिखाएं स्काला के प्रतीकात्मक ऑपरेटरों का क्या मतलब है? मैं ओरेकल में एक अनुक्रम कैसे रीसेट करूं? गतिविधि के निर्माता में क्यों appapplicationContext () प्राप्त करें, शून्य पॉइंटर अपवाद फेंकता है? एक रूटेड डिवाइस पर चलने का निर्धारण करें EF #temp तालिका से चयनित संग्रहित प्रक्रिया से वापसी स्कीमा का अनुमान नहीं लगा सकता फंक्शन टेम्पलेट में जादू तर्क स्विफ्ट में वीसी मुद्दे बदलना टैब बार नियंत्रक में दृश्यों के बीच डेटा कैसे पास करें? जावास्क्रिप्ट के साथ टेक्स्ट चयन साफ़ करें मैं "नेटवर्क" समय कैसे प्राप्त कर सकता हूं, ("स्वचालित" सेटिंग से "नेटवर्क-प्रदान किए गए मानों का उपयोग करें" कहलाता है), फोन पर समय नहीं है? जावास्क्रिप्ट में एकल प्लस ऑपरेटर

Servlet 3.0 API के लिए मेवेन निर्भरता?

Servlet 3.0 API को लोड करने के लिए मैं मैवेन 2 को कैसे बता सकता हूं?

मैंने कोशिश की:

<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0</version> <scope>provided</scope> </dependency> 

मैं http://repository.jboss.com/maven2/ का उपयोग करता हूं लेकिन क्या रिपोजिटरी सही होगी?

परिशिष्ट:

यह संपूर्ण जावा ईई 6 एपीआई और निम्नलिखित सेटिंग्स के लिए निर्भरता के साथ काम करता है:

 <repository> <id>java.net</id> <url>http://download.java.net/maven/2</url> </repository> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>6.0</version> <scope>provided</scope> </dependency> 

मैं केवल Servlet API को निर्भरता के रूप में जोड़ना पसंद करता हूं, लेकिन "ब्रेबस्टर" सही हो सकता है कि अलग-अलग निर्भरताएं जावा ईई 6 प्रोफाइल द्वारा बदल दी गई हैं क्या कोई ऐसा स्रोत है जो इस धारणा की पुष्टि करता है?

Solutions Collecting From Web of "Servlet 3.0 API के लिए मेवेन निर्भरता?"

मैं केवल Servlet API को निर्भरता के रूप में जोड़ना चाहूंगा,

ईमानदारी से, मुझे समझ में नहीं आ रहा है कि क्यों, लेकिन कभी कोई बात नहीं …

Brabster अलग निर्भरता जावा ईई 6 प्रोफाइल द्वारा प्रतिस्थापित किया गया है। क्या कोई ऐसा स्रोत है जो इस धारणा की पुष्टि करता है?

जावानेट से मेवेन रिपॉजिटरी वास्तव में वेबप्रोफाइल के लिए निम्नलिखित कलाकृति प्रदान करता है:

 <repositories> <repository> <id>java.net2</id> <name>Repository hosting the jee6 artifacts</name> <url>http://download.java.net/maven/2</url> </repository> </repositories> <dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-web-api</artifactId> <version>6.0</version> <scope>provided</scope> </dependency> </dependencies> 

इस जार में सर्विसलेट 3.0, ईजेबी लाइट 3.1, जेपीए 2.0, जेएसपी 2.2, ईएल 1.2, जेएसटीएल 1.2, जेएसएफ 2.0, जेटीए 1.1, जेएसआर -45, जेएसआर -50 शामिल हैं।

लेकिन मेरे ज्ञान में, कुछ भी नहीं कहने की अनुमति देता है कि इन API को अलग से वितरित नहीं किया जाएगा (java.net रिपॉजिटरी में या कहीं और)। उदाहरण के लिए (ठीक है, यह एक विशेष मामला हो सकता है), जेएसएफ 2.0 एपीआई अलग से उपलब्ध है (जावानेट रिपॉजिटरी में):

 <dependency> <groupId>com.sun.faces</groupId> <artifactId>jsf-api</artifactId> <version>2.0.0-b10</version> <scope>provided</scope> </dependency> 

और वास्तव में, आप वहां से javax.servlet-3.0.jar प्राप्त कर सकते हैं और इसे अपने स्वयं के भंडार में स्थापित कर सकते हैं।

यह हाल ही में जोड़ा जा रहा है:

http://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/3.0.1/

 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> 

या आप सर्लेट 3.0 एपीआई के साथ केंद्रीय मेवेन रिपॉजिटरी का उपयोग कर सकते हैं जो टॉमकेट सर्वर 7.0.X के लिए भी प्रदान किया गया है

  <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-servlet-api</artifactId> <version>7.0.21</version> <scope>provided</scope> </dependency> 

यहां से: http://repo2.maven.org/maven2/org/apache/tomcat/tomcat-servlet-api/7.0.21/

दुर्भाग्य से, javaee- (web) -i को एक निर्भरता के रूप में जोड़ने से आपको आईडीए के भीतर से ब्राउज़ करने के लिए सर्विस एपी के जवाडोक या स्रोत नहीं मिलता है। यह अन्य सभी निर्भरताओं (जेपीए, ईजेबी, …) के मामले में भी है यदि आपको सर्लेट एपीआई स्रोत / जवाडॉक की आवश्यकता है, तो आप अपने pom.xml को निम्न जोड़ सकते हैं (कम से कम जेबीस और ग्लासफ़िश के लिए काम करता है):

भंडार:

 <repository> <id>jboss-public-repository-group</id> <name>JBoss Public Repository Group</name> <url>https://repository.jboss.org/nexus/content/groups/public/</url> </repository> 

निर्भरता:

 <!-- Servlet 3.0 Api Specification --> <dependency> <groupId>org.jboss.spec.javax.servlet</groupId> <artifactId>jboss-servlet-api_3.0_spec</artifactId> <version>1.0.0.Beta2</version> <scope>provided</scope> </dependency> 

मैंने पूरी तरह से मेरी निर्भरताओं से जावा-एपीआई निकाल दिया और इसे जावा ईई 6 के सभी हिस्सों के लिए स्रोतों और जवाडॉक्स पाने के लिए असतत भागों (javax.ejb, javax.faces, …) के साथ इसे बदल दिया।

संपादित करें:

यहां समतुल्य ग्लासफ़िश निर्भरता है (यद्यपि दोनों निर्भरताएं काम करना चाहिए, चाहे आप जिस ऐपसेरर का उपयोग करें, वैसे भी)।

 <dependency> <groupId>org.glassfish</groupId> <artifactId>javax.servlet</artifactId> <version>3.0</version> <scope>provided</scope> </dependency> 

यहाँ मैं क्या उपयोग है ये सभी केंद्रीय में हैं और स्रोत हैं

टॉमकेट 7 (जावा 7, सर्वलेट 3.0) के लिए

नोट – टोटलेट में सर्वलेट, जेएसपी और ईएलआई एपीआई प्रदान की जाती हैं। केवल जेएसटीएल (यदि इस्तेमाल किया जाता है) को वेब ऐप के साथ बंडल किया जाना चाहिए।

 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <version>2.2.4</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> 

टॉमकेट 8 (जावा 8, सर्वलेट 3.1) के लिए

 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <version>3.0.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> 

अपाचे जेरोनिमो प्रोजेक्ट मेवेन सेंट्रल रेपो पर सर्वलेट 3.0 एपीआई निर्भरता प्रदान करता है:

 <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-servlet_3.0_spec</artifactId> <version>1.0</version> </dependency> 

मुझे सितंबर से DZone पर Servlet 3.0 API के लिए एक उदाहरण POM मिला है।

सुझाव दें कि java.net रेपो का उपयोग http://download.java.net/maven/2/ पर करें

वहां जावा ईई एपीआई हैं, उदाहरण के लिए, http://download.java.net/maven/2/javax/javaee-web-api/6.0/ पीओएम के साथ दिखता है जैसे कि वे हो सकता है कि आपके बाद क्या हो, उदाहरण के लिए :

 <dependency> <groupId>javax</groupId> <artifactId>javaee-web-api</artifactId> <version>6.0</version> </dependency> 

मैं अनुमान लगा रहा हूं कि एपीआई के लिए संस्करण सम्मेलनों को नए 'प्रोफाइल' के हिस्से के रूप में समग्र ईई स्पेक (यानी जावा ईई 6 बनाम सर्विसलेट 3.0) के संस्करण से मिलान करने के लिए बदल दिया गया है। जार में देखते हुए, सभी 3.0 सर्विसलेट सामान की तरह दिखता है का आनंद लें!

सिर्फ नए लोगों के लिए

 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> 

जावा ईई 6 निर्भरता को शामिल करने के लिए एक सुविधाजनक तरीका (जेबस की सिफारिश की गई है) नीचे दिखाया गया है नतीजतन, निर्भरताएं अलग से रखी जाती हैं (जवाबी-वेब-एपीआई में एक जार में सभी नहीं), स्रोत फाइलें और पुस्तकालयों के जवाडॉक्स मेवेन रिपॉजिटरी से डाउनलोड करने के लिए उपलब्ध हैं।

 <properties> <jboss.javaee6.spec.version>2.0.0.Final</jboss.javaee6.spec.version> </properties> <dependencies> <dependency> <groupId>org.jboss.spec</groupId> <artifactId>jboss-javaee-web-6.0</artifactId> <version>${jboss.javaee6.spec.version}</version> <scope>provided</scope> <type>pom</type> </dependency> </dependencies> 

केवल व्यक्तिगत निर्भरता को शामिल करने के लिए, dependencyManagement अनुभाग और स्कोप import का उपयोग किया जा सकता है:

  <dependencyManagement> <dependencies> <dependency> <groupId>org.jboss.spec</groupId> <artifactId>jboss-javaee6-specs-bom</artifactId> <version>${jboss.javaee6.spec.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- No need specifying version and scope. It is defaulted to version and scope from Bill of Materials (bom) imported pom. --> <dependency> <groupId>org.jboss.spec.javax.servlet</groupId> <artifactId>jboss-servlet-api_3.0_spec</artifactId> </dependency> </dependencies> 

इस कोड को आज़माएं …

  <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency>