এম 2 ই এবং গ্রহন উত্স ফোল্ডার হিসাবে উত্কীর্ণ উত্স ফোল্ডার রয়েছে


91

আমার কাছে গ্রহণের একটি মাভেন প্রকল্প রয়েছে এবং কোডটি উত্পন্ন করার জন্য টীকা প্রসেসরগুলি চালিত এমন ম্যাভেন লক্ষ্য রয়েছে। এই কোডটির আউটপুট ফোল্ডারটি লক্ষ্য / উত্পন্ন উত্স / অ্যাপ্লিকেশন।

গ্রহণের জন্য এই উত্পন্ন কোডটি দেখতে গ্রহনের প্রকল্পে আমি উত্স ফোল্ডার হিসাবে লক্ষ্য / উত্পন্ন উত্স / অ্যাপ্লিকেশন যুক্ত করতে হবে।

যাইহোক, এর ফলে "ম্যাভেন কনফিগারেশন সমস্যা" বলার ধরণের ত্রুটি ঘটায়

প্রকল্প কনফিগারেশন pom.xML এর সাথে আপ-টু-ডেট নয়। প্রকল্প কনফিগারেশন আপডেট চালান

আমি মনে করি যে আমি কেন বুঝতে পারি কেন গ্রহগ্রহের জন্য মাভেনের সেটে উত্স ফোল্ডারগুলির একটি আলাদা সেট রয়েছে। তবে আমার এই আলাদা সেটটি প্রয়োজন, যেমন উত্পন্ন উত্স ফোল্ডারগুলি দেখতে সক্ষম হওয়ার জন্য আমার গ্রহপ প্রয়োজন ...

খাঁটি মাভেন তৈরি করার সময়, এই উত্স ফোল্ডারগুলি ম্যাগেন দ্বারা বিল্ডে অন্তর্ভুক্ত করা হবে।

বিটিডব্লিউ, আমি মভেন ইক্লিপ্স প্লাগইন, এম 2 ই 1.0 - এর অফিশিয়াল ইলিপ্স রিলিজে আপগ্রেড করেছি - এম 2 স্লিপস যা ব্যবহৃত হত। আমি দেখতে চাই যে আমি পুরানো এম 2 স্লিপস সংস্করণে ফিরে যাওয়ার আগে আমি এম 2 ই প্লাগইনটির সাথে এর সমাধান / সমাধান খুঁজে পেতে পারি কিনা।

উত্তর:


105

আপনাকে বিল্ড-হেল্পার-প্লাগইনের সাথে উত্স ডিরেক্টরি সংযুক্ত করতে হবে ।

তাই ভালো:

 <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>${project.build.directory}/generated-sources/java/</source>
                </sources>
            </configuration>
        </execution>
    </executions>
 </plugin>

আপনার এছাড়াও প্রয়োজন হবে:

  • ইলিশ মার্কেটপ্লেস থেকে "অ্যাপ্ট এম 2 ই সংযোগকারী" ইনস্টল করুন। এটি করতে আপনার pom.xML এর ওভারভিউ ট্যাবে ত্রুটিটি ক্লিক করুন এবং "আবিষ্কার করুন" নির্বাচন করুন।
  • বিল্ড-হেল্পার-মাভেন-প্লাগইনের জন্য প্লাগইন এক্সিকিউশন ফিল্টার নেই তা নিশ্চিত করুন ( https://www.eclipse.org/m2e/docamentation/m2e-execution-not-cused.html দেখুন )

4
এই সলিউশনটি দুর্দান্ত কাজ করে যখন m2e connector for build-helper-maven-pluginগ্রহটিতে ইনস্টল করা হয়
ব্র্যাড কাপিট

আমার জন্য কাজ করে না। আপনি কি বিল্ড-হেল্পার-প্লাগইন সেটআপটি বিশদভাবে বলতে পারেন?
কেভিন ওং

<plugin> <groupId> org.codehaus.mojo </groupId> <artifactId> বিল্ড-হেল্পার-মাভেন-প্লাগইন </ b> <<<< অ্যাড-সোর্স </ id> <ফেজ> জেনারেট- উত্স </ ফেজ> <goals> <goal> অ্যাড-সোর্স </ strong> <<<<<<< কনফিগারেশন> <সোর্স> <উত্স>। {প্রকল্প. বিল্ড.ডাইরেক্টরি} / উত্পন্ন উত্স / জাভা / </ উত্স> <সোর্স> {। प्रोजेक्ट.ইবিল্ড.ডাইরেক্টরি} / জ্যাকসউস / ডাব্লুসিম্পোর্ট / জাভা </ সোর্স> </ সোর্স> </ কনফিগারেশন> </ এক্সিকিউশন> </exections> </plugin>
কেভিন ওয়াং

4
কেপলারের সাথে, আমাকে বিল্ড হেল্পার মেভেন প্লাগইনের জন্য এম 2 ই সংযোগকারীও ইনস্টল করতে হয়েছিল। (কেবলমাত্র পোমটি গ্রহনের ম্যাভেন পম সম্পাদকের ভিতরে খুলুন এবং উপরের লাল লিঙ্কটিতে ক্লিক করুন)।
Snicolas

4
যতদুর আমি বলতে পারেন, হিসাবে build-helper-maven-pluginসঙ্গে <version>হিসাবে নির্দিষ্ট 3.2.0(এই প্রবন্ধ লেখার সর্বশেষ), সেখানে Apt, M2E সংযোগকারী ব্যবহার করার জন্য কোন প্রয়োজন নেই। বর্তমানে অ্যালিপস আইডিই 2020-06 এ কাজ করছে, এক্লিপসে মাভেন ৩. 3..৩ এম্বেড ব্যবহার করে এবং উত্স ফোল্ডার সহ আমাদের সমস্যাগুলি (**) উত্স ফোল্ডারগুলির ডিরেক্টরি পথগুলি যুক্ত করার চেষ্টা করার পরে চলে গেছে Now এখন, সমস্তগুলি অন্তর্ভুক্তি রয়েছে তাদের মধ্যে (** / *। জাভা)।
tom_mai78101

80

ত্রুটি বার্তাটি ডান ক্লিক করুন:

প্রকল্প কনফিগারেশন pom.xML রান প্রকল্প কনফিগারেশন আপডেটের সাথে আপ টু ডেট নয়

সমস্যাগুলিতে দেখুন এবং দ্রুত সমাধান নির্বাচন করুন এবং ডিফল্ট আপডেট প্রকল্প কনফিগারেশন নির্বাচন করতে সমাপ্তি ক্লিক করুন । এটি এটি স্থির করে।


4
এটি আমার পক্ষেও কাজ করে। কেন এটি গৃহীত উত্তর নয়? মনে হয় গৃহীত উত্তরটি খুব বেশি করে।
নীল বাসজেস 21

14
@ নিলসবাজেস এটি স্বীকৃত উত্তর নয় কারণ এটি কেবল সহায়ক নয়। আপনি যখন Eclipse এ বিল্ড পাথটিতে কিছু যুক্ত করেন, তার অর্থ আপনি আর POM এর সাথে সিঙ্কে থাকবেন না, তাই সতর্কতা। প্রকল্পের কনফিগারেশনটি আপডেট করা কেবল অতিরিক্ত বিল্ড পাথ এন্ট্রি সরিয়ে দেয়, যা দিয়ে শুরু হওয়া প্রাথমিক সমস্যা ছিল।
ফিল

4

এম 2 ই / মাভেন / এপিটির নতুন সংস্করণগুলিতে স্যুইচ করার পরে ... আমার নকল ফাইলগুলির কারণে বিল্ডহেল্পার যুক্ত অ্যাড বিল্ডপথ দ্বারা সৃষ্ট বিল্ডারফারস ছিল, তাই আমাকে বিল্ডহেল্পার থেকে "অ্যাপ্ট-জেনারেটেড"-ফোল্ডারগুলি সরিয়ে ফেলতে হবে।

E2- এ সমস্যা সমাধানের জন্য, M2E- এ আপডেট মেভেন কনফিগারেশনের মাধ্যমে "অ্যাপ্ট-জেনারেটেড"-ফোল্ডার যুক্ত না করে, আমি এই সমস্যাটি সমাধানের জন্য একটি এম 2 ই প্লাগইন লিখেছি। এটি প্রকল্পের বিল্ডপ্যাথটিতে মেভেন-অ্যাপ-প্লাগইনে কনফিগার করা আউটপুট ডিরেক্টরিগুলি যুক্ত করে।

https://apt-m2e.googlecode.com


4
দুর্ভাগ্যক্রমে @ স্টেফান ওও আপনার প্লাগইন পৃষ্ঠা / রেপো এখন googlecode.com এ 404; আপনি কি এটিকে আপডেট করার পাশাপাশি অ্যালিপস মার্কেটপ্লেস এন্ট্রি করতে আপত্তি করবেন? মার্কেটপ্লেস.সিলিপস.অর্গ
কনটেন্ট

3

এম 2 ই 1.0 এ মাভেন প্লাগইনগুলির হ্যান্ডলিং পরিবর্তন হয়েছে। আপনার কোড তৈরির প্লাগইনটির জন্য আপনার একটি নির্দিষ্ট এম 2 ই এক্সটেনশনের অভাব রয়েছে। আমি খুঁজে পেতে পরিচালিত সমস্ত ডকুমেন্টেশন এখানে ।

এই বাগ রিপোর্টটিও প্রাসঙ্গিক হতে পারে।


আমার অনুমান যে এম 2 ই নতুন এবং এর প্রচুর বিকাশ রয়েছে
মাইকেল ওয়াইলস

4
আমি বিশ্বাস করি যে সমস্যাটি হ'ল এম 2 স্লিপস প্রকল্পগুলিতে কেবল ম্যাভেন প্লাগইন প্রয়োগ করা, এম 2 স্লিপস করত, বেশিরভাগ সময় কাজ করার ঘটনা ঘটেছিল, তবে সর্বদা সঠিক কাজ করার নিশ্চয়তা ছিল না। নতুন পদ্ধতির সম্ভাব্য আরও দৃ more়, তবে অনেক মেভেন প্লাগইনগুলির একটি এম 2 ই অংশ রয়েছে।
নিকোলা মুসাত্তি

2

https://bugs.eclipse.org/bugs/show_bug.cgi?id=350081

সিএক্সএফ জিরায় অনুরোধ করুন (দেখুন 1 ) সিএক্সএফ-কোডজেন-প্লাগইনটিতে নিজেই লাইফাইকেল ম্যাপিং যুক্ত করতে। এর জন্য এম 2 ই 1.1 দরকার হবে তবে আমি বিশ্বাস করি যে সিএক্সএফ প্রকল্পের বাইরে সংযোজকগুলি তৈরির চেয়ে এটি আরও ভাল পদ্ধতির, এই ধারণা ধরে রেখে যে লাইফসাইকেল ম্যাপিং এপিআই সিএক্সএফ-কোডজেন-প্লাগইন এবং সিএক্সএফের চেয়ে কম ঘন ঘন পরিবর্তিত হবে।


0

আপনি আবিষ্কার ক্যাটালগে উপলব্ধ বিল্ডহেল্পার এম 2 ই সংযোগকারীটিও ব্যবহার করতে পারেন। আমি Eclipse 3.7 ব্যবহার করছি


0

ওয়েব বিকাশকারীদের জন্য Eclipse Java EE IDE। সংস্করণ: জুনো পরিষেবা রিলিজ 1

mvn archetype:generate \
   -DarchetypeGroupId=org.codehaus.mojo \
   -DarchetypeArtifactId=gwt-maven-plugin \
   -DarchetypeVersion=2.5.0

mvn clean install

নিখুঁতভাবে কাজ।

তবে গ্রহণে আমার একই ত্রুটি আসিনিক শ্রেণিতে।

প্রকল্পে কেবল F5 টিপুন। এই সমস্যাটি ঠিক করুন।


0

এটি আমি খুঁজে পেয়েছি যে বসন্ত 3.1.1 ব্যবহার করে ভাল কাজ করেছে যার 3.0.0 সংস্করণ এতে রয়েছে well একবার আমি প্লাগইনস সেটআপ পেয়ে পোমের সঠিক অঞ্চলে রেখে আরগলাইন এবং এন্ডোর্সড্ডারদের অন্তর্ভুক্ত করে জাভা উত্সকে লক্ষ্য / উত্পন্ন উত্স / সিএক্সএফ ফোল্ডারে রাখি তারপর মাভেন উত্সগুলি উত্পন্ন করে।

....

 <properties>...

   <dependencyManagement>
      <dependencies>.....
   </dependencyManagement>

<dependencies>
   <dependency>....

</dependencies>



<!-- *************************** Build process ************************************* -->
<build>
    <finalName>eSurety</finalName>
    <plugins>
        <!-- Force Java 6 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <!-- Deployent on AS from console
        <plugin>
            <groupId>org.jboss.as.plugins</groupId>
            <artifactId>jboss-as-maven-plugin</artifactId>
            <version>${version.jboss.as.maven.plugin}</version>
        </plugin>
        -->

        <!-- wildbill added tomcat plugin -->
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.0</version>              
        </plugin>

        <!-- Surefire plugin before 2.9 version is buggy. No need to declare here,
              it's being referenced below w/ the version
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.12</version>
        </plugin>
        -->

        <!-- developer added these -->   
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <compilerArguments>
                    <endorseddirs>target/generated-sources/cxf</endorseddirs>
                </compilerArguments>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.12</version>
            <configuration>
                <forkMode>once</forkMode>
                <argLine>-Djava.endorsed.dirs=target/generated-sources/cxf</argLine>
            </configuration>
        </plugin>           
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <compilerArguments>
                    <endorseddirs>target/generated-sources/cxf</endorseddirs>
                </compilerArguments>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <forkMode>once</forkMode>
                <argLine>-Djava.endorsed.dirs=target/generated-sources/cxf</argLine>
            </configuration>
        </plugin>                       
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>                       
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>javax.xml.bind</groupId>
                        <artifactId>jaxb-api</artifactId>
                        <version>2.2</version>
                    </artifactItem>
                    <artifactItem>
                        <groupId>javax.xml.ws</groupId>
                        <artifactId>jaxws-api</artifactId>
                        <version>2.2</version>
                    </artifactItem>
                </artifactItems>
                <outputDirectory>target/generated-sources/cxf</outputDirectory>
            </configuration>                      
        </plugin>                                                 
    </plugins>
</build>



<!-- *********************** Profiles ************************************ -->
<profiles>
    <profile>
        <!-- When built in OpenShift the 'openshift' profile will be 
            used when invoking mvn. -->
        <!-- Use this profile for any OpenShift specific customization 
            your app will need. -->
        <!-- By default that is to put the resulting archive into the 
            'deployments' folder. -->
        <!-- http://maven.apache.org/guides/mini/guide-building-for-different-environments.html -->
        <id>projName</id>
        <build>
            <plugins>                                                   
                <plugin>
                    <groupId>org.apache.cxf</groupId>
                    <artifactId>cxf-codegen-plugin</artifactId>
                    <version>2.5.2</version>                        
                    <executions>
                        <execution>
                            <id>process-sources</id>
                            <phase>generate-sources</phase>                                                                                               
                            <configuration>
                                <fork>once</fork>
                                <additionalJvmArgs>-Djava.endorsed.dirs=target/generated-sources/cxf</additionalJvmArgs>                                          
                            </configuration>
                            <goals>                             
                                <goal>wsdl2java</goal>
                            </goals>
                        </execution>
                    </executions>                       
                    <dependencies>
                        <dependency>
                           <groupId>com.sun.xml.bind</groupId>
                           <artifactId>jaxb-impl</artifactId>
                           <version>2.2</version>
                        </dependency>
                        <dependency>
                           <groupId>com.sun.xml.bind</groupId>
                           <artifactId>jaxb-xjc</artifactId>
                           <version>2.2</version>
                        </dependency>
                     </dependencies>
                </plugin>

                <!-- Actual war created in default target dir -->
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.2</version>                                               
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

যদি আপনার ডাব্লুএসডিএল ফোল্ডারটি $ {ভিত্তিক} / এসসিআর / প্রধান / সংস্থানগুলিতে থাকে তবে এটি স্বয়ংক্রিয়ভাবে এটি খুঁজে পাবে

আশাকরি এটা সাহায্য করবে! ~ ওয়াইল্ডবিল


0

কোনও কারণে আপনি বিল্ড হেল্পার প্লাগইন সবচেয়ে সহজ উপায়টি ব্যবহার করতে পারবেন না (যদিও এটি সুবিধাজনক এবং কিছুটা ক্লান্তিকর না হলেও) আমি এর সাথে মোকাবিলা করতে পেরেছি:

  1. উত্পন্ন উত্স কোডটিকে তার নিজস্ব প্রকল্প বা উপ মডিউলে পৃথক করুন।
  2. আপনি যখন প্যারেন্ট প্রজেক্টে কাজ করছেন তখন আপনি এই প্রকল্পটি মূলত বন্ধ বা Eclipse এ আমদানি না করে রাখতে চাইবেন।
  3. উত্সাহিত প্রকল্পের জন্য যে উত্পন্ন কোডের প্রয়োজন তা এখন মাভেন পম নির্ভরতার মাধ্যমে উত্পন্ন উত্স কোড প্রকল্পের উপর নির্ভর করে তা নিশ্চিত করুন।
  4. যখন আপনাকে উত্পন্ন কোডটি আপডেট করতে হবে তখন উত্পন্ন কোড প্রকল্পে যান এবং চালান mvn installমাভেন-> আপডেট প্রকল্পটি ডান ক্লিক করে এবং নির্বাচন করে প্যারেন্ট প্রকল্পটি রিফ্রেশ করুন ...

এটি সাধারণত এমন প্রকল্পগুলির জন্য ভাল কাজ করে যা কোড উত্পন্ন যেমন SOAP WSDLs (অ্যাপাচি সিএক্সএফ) বা একটি ডাটাবেস (জইউকিউ) থেকে উত্পন্ন কোডের জন্য একটি আধা স্থির উত্স ব্যবহার করে। এপিটি এবং অন্যান্য এসপেক্টজে-মতো কোডের জন্য এটি কাজ করে না কারণ আপনি ঘন ঘন উত্স সম্পাদনা করছেন।


-1

বিল্ড হেল্পার প্লাগইনটিতে কনফিগারেশনটি আমাদের পক্ষে কাজ করেছিল।

তবে সচেতন হোন যে গন্তব্য ফোল্ডারটি বরাবরই টীকাগুলি প্রসেসিংয়ের জন্য আপনি যে প্লাগইন ব্যবহার করছেন সেটি কনফিগারেশনের সমান হতে হবে।

উদাহরণস্বরূপ, মাভেন-প্রসেসর-প্লাগইন লক্ষ্য ফোল্ডার $। प्रोजेक्ट.বিল্ড.ডাইরেক্টরি pt / উত্পন্ন উত্স / অ্যাপটিকে ডিফল্ট হিসাবে ব্যবহার করে। আপনি যদি উত্পন্ন উত্স ফাইলগুলির জন্য অন্য কোনও গন্তব্য চান তবে আপনি নীচের মত এটি ট্যাগ দ্বারা সেট করতে পারেন।

<plugin>
<groupId>org.bsc.maven</groupId>
                <artifactId>maven-processor-plugin</artifactId>
                <version>2.1.1</version>
                <executions>
                    <execution>
                        <id>process</id>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <phase>process-sources</phase>
                        <configuration>
                            <defaultOutputDirectory>apt_generated</defaultOutputDirectory>
                            <processors>
                                <processor>com.any.processor.invoker</processor>
                            </processors>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

-3

সমাধান এখানে

  1. মার্কার ভিউ খুলুন (উইন্ডো> শো ভিউ)
  2. ত্রুটি বার্তায় ডান ক্লিক করুন
  3. দ্রুত ফিক্স নির্বাচন করুন
  4. সমাপ্তি ক্লিক করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.