বসন্ত 3.0.০ এর জন্য কোন মেভেন নির্ভরতা অন্তর্ভুক্ত করবে?


114

আমি আমার প্রথম প্রকল্পটি স্প্রিং ৩.০ (এবং মভেন) দিয়ে করার চেষ্টা করছি। আমি বেশ কয়েকটি প্রকল্পে স্প্রিং 2.5 (এবং প্রাইমার সংস্করণ) ব্যবহার করেছি। তবুও আমি বিভ্রান্ত হয়ে পড়েছি, আমার pom.xML এ নির্ভরতা হিসাবে আমার কী মডিউলগুলি সংজ্ঞায়িত করতে হবে। আমি কেবল মূল ধারক ফাংশন (মটরশুটি, কোর, প্রসঙ্গ, এল) ব্যবহার করতে চাই।

আমি এটি করতে ব্যবহৃত হয়েছিল:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring</artifactId>
    <version>2.5.6</version>
</dependency>

তবে এখন আমি বিভ্রান্ত হয়ে পড়েছি, কারণ সংস্করণ 3.0.০ এর জন্য কোনও পূর্ণ প্যাকড স্প্রিং মডিউল নেই। আমি নিম্নলিখিতগুলি চেষ্টা করেছিলাম কিন্তু এটি কার্যকর হয়নি (কিছু ক্লাস অনুপস্থিত)।

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>3.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>3.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.0.0.RELEASE</version>
    </dependency>

কোন সাহায্য প্রশংসা হবে!


এটি আসলে দ্বিতীয় কোড উদাহরণে বর্ণিত হিসাবে কাজ করে। আমি অন্য কিছু সমস্যা দ্বারা বিভ্রান্ত হয়ে পড়েছিলাম। অযথা প্রশ্নের জন্য দুঃখিত। আমি যেভাবেই হোক প্রশ্নটি রাখার পরামর্শ দিচ্ছি, কারণ সম্ভবত লোকদের 2.5 থেকে 3.0 এ পরিবর্তন করতে একই সমস্যা হতে পারে।
নিলস শ্মিড্ট

উত্তর:


227

কিথ ডোনাল্ডের স্প্রিং ব্লগে একটি দুর্দান্ত পোস্ট ছিল যা মাভেনের সাথে স্প্রিং 3 আরিটফ্যাক্ট কীভাবে পাবেন তা বিশদ মন্তব্য সহ যখন আপনার প্রতিটি নির্ভরতা প্রয়োজন তখন ...

<!-- Shared version number properties -->
<properties>
    <org.springframework.version>3.0.0.RELEASE</org.springframework.version>
</properties>
<!-- Core utilities used by other modules.
    Define this if you use Spring Utility APIs 
    (org.springframework.core.*/org.springframework.util.*)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Expression Language (depends on spring-core)
    Define this if you use Spring Expression APIs 
    (org.springframework.expression.*)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-expression</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Bean Factory and JavaBeans utilities (depends on spring-core)
    Define this if you use Spring Bean APIs 
    (org.springframework.beans.*)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Aspect Oriented Programming (AOP) Framework 
    (depends on spring-core, spring-beans)
    Define this if you use Spring AOP APIs 
    (org.springframework.aop.*)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Application Context 
    (depends on spring-core, spring-expression, spring-aop, spring-beans)
    This is the central artifact for Spring's Dependency Injection Container
    and is generally always defined-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Various Application Context utilities, including EhCache, JavaMail, Quartz, 
    and Freemarker integration
    Define this if you need any of these integrations-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Transaction Management Abstraction 
    (depends on spring-core, spring-beans, spring-aop, spring-context)
    Define this if you use Spring Transactions or DAO Exception Hierarchy
    (org.springframework.transaction.*/org.springframework.dao.*)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- JDBC Data Access Library 
    (depends on spring-core, spring-beans, spring-context, spring-tx)
    Define this if you use Spring's JdbcTemplate API 
    (org.springframework.jdbc.*)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Object-to-Relation-Mapping (ORM) integration with Hibernate, JPA and iBatis.
    (depends on spring-core, spring-beans, spring-context, spring-tx)
    Define this if you need ORM (org.springframework.orm.*)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Object-to-XML Mapping (OXM) abstraction and integration with JAXB, JiBX, 
    Castor, XStream, and XML Beans.
    (depends on spring-core, spring-beans, spring-context)
    Define this if you need OXM (org.springframework.oxm.*)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-oxm</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Web application development utilities applicable to both Servlet and 
    Portlet Environments 
    (depends on spring-core, spring-beans, spring-context)
    Define this if you use Spring MVC, or wish to use Struts, JSF, or another
    web framework with Spring (org.springframework.web.*)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Spring MVC for Servlet Environments 
    (depends on spring-core, spring-beans, spring-context, spring-web)
    Define this if you use Spring MVC with a Servlet Container such as 
    Apache Tomcat (org.springframework.web.servlet.*)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Spring MVC for Portlet Environments 
    (depends on spring-core, spring-beans, spring-context, spring-web)
    Define this if you use Spring MVC with a Portlet Container 
    (org.springframework.web.portlet.*)-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc-portlet</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
<!-- Support for testing Spring applications with tools such as JUnit and TestNG
    This artifact is generally always defined with a 'test' scope for the 
    integration testing framework and unit testing stubs-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${org.springframework.version}</version>
    <scope>test</scope>
</dependency>

3
ধন্যবাদ, আসলে এটি আবার খুঁজে বার করতে হয়েছিল, যেমনটি আমি খুঁজে পেয়েছি এবং কিছুদিন আগে লিংকটি হারিয়েছি .. এটির এখানে থাকার অর্থ হ'ল স্প্রিং ব্লগের চেয়ে লোকদের পক্ষে এটি সম্ভবত খুঁজে পাওয়া সহজ ..
টিম

এবং স্প্রিং 4 এর জন্য স্প্রিং বুটে স্যুইচ করতে বিবেচনা করুন
টিম

29

স্প্রিং (আজকাল) একটি প্রকল্পে কেবল একটি নির্ভরশীলতা ব্যবহার করে স্প্রিং যুক্ত করা সহজ করে তোলে

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-context</artifactId>
 <version>3.1.2.RELEASE</version>
</dependency> 

এটি সমাধান করবে

[INFO] The following files have been resolved:
[INFO]    aopalliance:aopalliance:jar:1.0:compile
[INFO]    commons-logging:commons-logging:jar:1.1.1:compile
[INFO]    org.springframework:spring-aop:jar:3.1.2.RELEASE:compile
[INFO]    org.springframework:spring-asm:jar:3.1.2.RELEASE:compile
[INFO]    org.springframework:spring-beans:jar:3.1.2.RELEASE:compile
[INFO]    org.springframework:spring-context:jar:3.1.2.RELEASE:compile
[INFO]    org.springframework:spring-core:jar:3.1.2.RELEASE:compile
[INFO]    org.springframework:spring-expression:jar:3.1.2.RELEASE:compile

কটাক্ষপাত আছে স্প্রিং ফ্রেমওয়ার্ক ডকুমেন্টেশন আরও তথ্যের জন্য পাতা।


প্রকল্পটিতে আপনারও যেমন স্প্রিং সিকিউরিটি থাকে সেই পদ্ধতির সমস্যা হতে পারে, কারণ মাভেন নির্ভরতা রেজোলিউশন যেভাবে কাজ করে (সংক্ষিপ্ততম পথ) - মাভেন আর্টিকেল সহ আমার স্প্রিং সিকিউরিটি চেক করুন
ইউজেন

1
ইউজেন ভাল পয়েন্ট এক্ষেত্রে কেবল বসন্ত-সুরক্ষা শৈল্পিকাগুলি ঘোষণা করা আরও ভাল হবে যা সমর্থিত "স্প্রিং-কোর" শিল্পকর্মগুলি সঠিক সংস্করণগুলি দিয়ে সমাধান করে (দুর্ভাগ্যক্রমে সর্বশেষতম স্থিতিশীল সংস্করণ নয়)।
ফ্রাভাবে


2

যেহেতু এই প্রশ্নগুলি এখনও অনেকগুলি ভিউ পেয়েছে বলে মনে করা কার্যকর হবে যে স্প্রিং 4+ এর জন্য ব্যবহার শুরু করা সবচেয়ে সহজ Spring Bootএবং স্প্রিং বুট স্টার্টার পিওএমগুলি

স্প্রিং বুট ব্যবহার করে পরিচালনা করার জন্য কম নির্ভরতা (এবং এভাবে কম সংঘাতগুলি হয়), এবং একটি কার্যকরী, ভালভাবে সংহত করা স্প্রিং কনটেক্সট সেটআপ করা পুরোপুরি সহজ। আমি এটি সুপারিশ।


1

কোন ক্লাস অনুপস্থিত? ক্লাসের নামটি নিজেই অনুপস্থিত মডিউলটির একটি ভাল সূত্র হওয়া উচিত।

এফওয়াইআই, আমি জানি যে উবার স্প্রিং জারের অন্তর্ভুক্ত করা এটির পক্ষে সত্যই সুবিধাজনক তবে অন্যান্য প্রকল্পের সাথে সংহত করার সময় এটি সত্যই সমস্যার কারণ হয়ে দাঁড়ায়। নির্ভরতা সিস্টেমের পিছনে অন্যতম সুবিধা হ'ল এটি নির্ভরতাগুলির মধ্যে সংস্করণ বিরোধগুলি সমাধান করবে।

যদি আমার লাইব্রেরিটি বসন্ত-কোর: 2.5 এর উপর নির্ভর করে এবং আপনি আমার গ্রন্থাগার এবং উবার-বসন্ত: 3.0 এর উপর নির্ভর করেন তবে আপনার ক্লাসপথে আপনার এখন বসন্তের 2 সংস্করণ রয়েছে।

আপনি বাদে এই চারপাশে পেতে পারেন তবে নির্ভরতা সঠিকভাবে তালিকাভুক্ত করা তার পক্ষে আরও সহজ এবং এটি সম্পর্কে চিন্তা করার দরকার নেই।


1

আপনি বসন্তের জারের জন্য বসন্ত -প্রসঙ্গের নির্ভরতা যুক্ত করতে পারেন । আপনি এটি সহ নীচের জারগুলি পাবেন।

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.0.5.RELEASE</version>
</dependency>

বসন্ত প্রসঙ্গে নির্ভরতা

আপনি যদি ওয়েব উপাদানও চান তবে আপনি বসন্ত-ওয়েবএমভিসি নির্ভরতা ব্যবহার করতে পারেন ।

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.0.5.RELEASE</version>
</dependency>

স্প্রিং ওয়েবএমভিসি নির্ভরতা

আপনি যে সংস্করণ চান তা ব্যবহার করতে পারেন। আমি এখানে 5.0.5. নিখরচায় ব্যবহার করেছি।


0

আপনি এটি চেষ্টা করতে পারেন

<dependencies>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.1.0.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>3.1.0.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>3.1.0.RELEASE</version>
    </dependency>
</dependencies>`

0

সংস্করণ সমস্যাগুলি সমাধান করতে একটি বিওএম ব্যবহার করুন।

আপনি দেখতে পাচ্ছেন যে কোনও তৃতীয় পক্ষের গ্রন্থাগার, বা অন্য একটি স্প্রিং প্রকল্প, পুরানো প্রকাশের জন্য একটি ট্রানজিটিভ নির্ভরতা টানছে। আপনি যদি সরাসরি স্পষ্টভাবে সরাসরি নির্ভরতা ঘোষণা করতে ভুলে যান তবে সব ধরণের অপ্রত্যাশিত সমস্যা দেখা দিতে পারে।

এই জাতীয় সমস্যাগুলি কাটিয়ে উঠতে মাভেন একটি "বিলের বিল" (বিওএম) নির্ভরতার ধারণাকে সমর্থন করে।

https://docs.spring.io/spring/docs/4.3.18.RELEASE/spring-framework-reference/html/overview.html#overview-maven-bom

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-framework-bom</artifactId>
  <version>3.2.12.RELEASE</version>
  <type>pom</type>
</dependency>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.