java - मैं स्प्रिंग बूट को कैसे बताऊंगा जो मुख्य वर्ग निष्पादन योग्य जार के लिए उपयोग करे?




spring maven (6)

Execution default of goal 
org.springframework.boot:spring-boot-maven-plugin:1.0.1.RELEASE:repackage 
failed: 
Unable to find a single main class from the following candidates

मेरी परियोजना में एक main विधि के साथ एक से अधिक कक्षाएं हैं। मैं स्प्रिंग बूट मेवेन प्लगइन कैसे कहूं कि कक्षाओं में से किसको मुख्य वर्ग के रूप में उपयोग करना चाहिए?


Gradle (Maven के बजाय) का उपयोग करने वालों के लिए:

springBoot {
    mainClass = "com.example.Main"
}

अपने पोम में अपनी स्टार्ट क्लास जोड़ें:

<properties>
    <!-- The main class to start by executing java -jar -->
    <start-class>com.mycorp.starter.HelloWorldApplication</start-class>
</properties>

मैं gradlew और मेरे लिए काम किया, gradlew रैपर gradlew इस्तेमाल किया।


मैंने अपना प्रोजेक्ट बदल दिया था और अभी भी बिल्ड पथ पर पुरानी Application क्लास मिल रही थी। मैंने इसे 'बिल्ड' फ़ोल्डर में हटा दिया और सब ठीक था।


यदि आप अपने पोम में वसंत-बूट-स्टार्टर-पैरेंट का उपयोग कर रहे हैं, तो आप बस अपने पोम में निम्नलिखित जोड़ दें:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

फिर अपने एमवीएन पैकेज करें।

इस स्प्रिंग दस्तावेज़ पृष्ठ देखें।

यहां एक बहुत ही महत्वपूर्ण पहलू का उल्लेख करना है कि निर्देशिका संरचना को src / main / java / nameofyourpackage होना चाहिए


यदि आप स्प्रिंग-बूट-स्टार्टर-पैरेंट पोम का उपयोग नहीं करते हैं, तो स्प्रिंग दस्तावेज़ से :

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>1.1.3.RELEASE</version>
    <configuration>
        <mainClass>my.package.MyStartClass</mainClass>
        <layout>ZIP</layout>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>




spring-boot