মাভেন: প্রকল্পের যুদ্ধের নাম কীভাবে রাখবেন?


94

আমার birdসাথে নিম্নলিখিত উপাদানগুলির সাথে একটি প্রকল্প রয়েছেpom.xml

   <groupId>com.myorg</groupId>
    <artifactId>bird</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>bird</name>

    <modules>
        <module>persistence</module>
        <module>business</module>
        <module>service</module>
        <module>web</module>
    </modules>

এবং ওয়েব মডিউল হিসাবে

   <parent>
        <artifactId>bird</artifactId>
        <groupId>com.myorg</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>web</artifactId>
    <packaging>war</packaging>  

ওয়েব মডিউল যুদ্ধ নামক ফাইল তৈরি করে web-1.0-SNAPSHOT.war
আমি কীভাবে এই নামটির নাম পরিবর্তন করে ব্যবহার করতে পারি bird.war?


এটা কি সাহায্য করে? stackoverflow.com/q/3265544/422353
madth3

উত্তর:


213

আপনি ওয়েব মডিউলে নিম্নলিখিতটি ব্যবহার করতে পারেন যা যুদ্ধ উত্পাদন করে:

<build>
  <finalName>bird</finalName>
 . . .
</build>

লক্ষ্য "যুদ্ধ: যুদ্ধ" ব্যবহার করা হলে এটি বার্ড.ওয়ার নামে একটি ফাইল তৈরি করা যায়।


যখন আমি "পাখি.ওয়ার" নামটি দিয়ে আমার প্রকল্পটি সংকলন করি তখন আমি একটি যুদ্ধ পাই যা নাম "পাখি.ওয়ার.ওয়ার" nd
কালশনি

@ কল্যাশনি কেবল 'পাখি' ব্যবহার করুন, 'পাখি.ওয়ার' নয় - বিভিন্ন বিল্ড প্লাগইনগুলির প্রতিটি যথাযথ ফাইল এক্সটেনশন স্বয়ংক্রিয়ভাবে যুক্ত করে (যুদ্ধ, জার, কান)
জ্যাচঅফএলট্রেডস

12
বা আরও সাধারণভাবে, আমরা ব্যবহার করতে পারি:<finalName>${project.artifactId}</finalName>
গিলাইম হুস্টা

এই উত্তরটি আমার সমস্যার সমাধান করেছে যেখানে পিতা বা মাতার নাম নিয়ে একটি সাবমডিউলের যুদ্ধ তৈরি হচ্ছে যা আমি চাইনি। সমস্যাটি হ'ল <ফিনালনাম> উপাদানটি প্যারেন্ট পিওমে সেট করা হয়েছিল। সেই উপাদানটি মোছার ফলে যুদ্ধের ফাইলটি সাবমডিউলের সঠিক নাম সহ উত্পন্ন হয়েছিল।
অলিভার হার্নান্দেজ

আইডিইএ 20156 2.4-এ আমার অতিরিক্ত সমস্যা ছিল যে এটি প্রতিবার আমি পেয়ারা গ্লাসফিশ ৪.১-এ স্থাপন করার চেষ্টা করার পরেও পুরানো যুদ্ধের ফাইল তৈরি করে চলেছে। যখন এটি মডিউল সেটিংস -> শিল্পকলা -> আউটপুট লেআউট এ যান এবং আপনার কাঙ্ক্ষিত ফলাফলটির জন্য যুদ্ধ ফাইলটির নাম পরিবর্তন করুন। আমার এটি দরকার কারণ আইডিইএতে যুদ্ধ ফাইলের নামের সাথে প্রসঙ্গের মূল পরিবর্তন হয় যা আপনি যখন .properties ফাইলে আলাদা আলাদা কনফিগার করেন তখন ব্যথা হয়।
Dr4gon

26

আপনি যুদ্ধ প্লাগইন কনফিগার করা প্রয়োজন:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          <warName>bird.war</warName>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>

আরও তথ্য এখানে


11
এফওয়াইআই: এই উত্তরটি আর বৈধ নয় (যেহেতু ম্যাভেন-ওয়ার-প্লাগইন সংস্করণ 3.0.0 এবং এর পরে)। ইস্যু.পাছে.আর.আর.জিরা / ব্রাউজ / এমআরওয়ার ৩7373 দেখুন ।
অউকে

<warName> (কমপক্ষে ৩.২.৩-এ যুদ্ধ-প্লাগইনে) কাজ করে তবে এটি সর্বদা সংযুক্ত হয় "- <ক্লাসিফায়ার> .war" যেখানে <ক্লাসিফায়ার> ডিফল্টরূপে খালি এবং <কনফিগারেশন> এর ভিতরে সেট করা যেতে পারে। "আমার অ্যাপ্লিকেশন ## 2020-05-29_10-24- পাওয়ার জন্য বিল্ড-হেল্পার-মাভেন-প্লাগইন দ্বারা সেট করা" বিল্ডডেটটাইমফায়াল "সহ <<Name> war {project.build.finalName} ## $ {buildDateTimeFile} </warName> ব্যবহার করি 00.war "। আপনি যদি একসাথে একাধিক যুদ্ধ-ফাইল (ডেভ / টেস্ট / প্রোড) তৈরি করেন তবে এটি বিশেষভাবে কার্যকর।
Thies

6

আপনি যদি মাভেন প্রকল্প ব্যবহার করে থাকেন তবে .war ফাইলের নামটি সংশোধন করতে আপনি নীচের পদক্ষেপটি অনুসরণ করতে পারেন।

আপনার maven প্রকল্পের pom.xML ফাইলটি খুলুন এবং ট্যাগে যান <build></build>,

  1. যে এই ট্যাগটি মধ্যে আপনার পছন্দসই নাম দিন: <finalName></finalName>

    প্রাক্তন :<finalName>krutik</finalName>

    এই .war স্থাপনার পরে আপনি url অ্যাক্সেস করতে সক্ষম হবেন:
    http: // লোকালহোস্ট: 8080 / ক্রুটিক /

  2. আপনি যদি স্ল্যাশ '/' দিয়ে ইউআরএলটি অ্যাক্সেস করতে চান তবে আপনাকে নীচের মতো নাম নির্দিষ্ট করতে হবে:

    প্রাক্তন: <finalName>krutik#maheta</finalName>

    এই .war স্থাপনার পরে আপনি ইউআরএল দিয়ে প্রবেশ করতে সক্ষম হবেন:
    http: // লোকালহোস্ট: 8080 / ক্রুটিক / মাহেত


5

দেখুন pom.xML> প্রকল্প ট্যাগ> বিল্ড ট্যাগ।

আমি নীচে সমাধান চাই।

<artifactId>bird</artifactId>
<name>bird</name>

<build>
    ...
    <finalName>${project.artifactId}</finalName>
  OR
    <finalName>${project.name}</finalName>
    ...
</build>

আমার জন্য কাজ করেছেন। ^^

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.