سؤال

هل هناك "مرحلة" أو "مرحلة" أو "هدف" ببساطة تنفيذ الطريقة الرئيسية لفئة Java؟ لدي مشروع أرغب في الاختبار يدويا بهما فعل شيء مثل "MVN Run".

هل كانت مفيدة؟

المحلول

انظر exec maven plugin.. وبعد يمكنك تشغيل فئات Java باستخدام:

mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...

يمكن أن يكون الاحتجاز بسيطا مثل mvn exec:java إذا كان تكوين البرنامج المساعد في Pom.xml الخاص بك. موقع البرنامج المساعد على Mojohaus لديه مثال أكثر تفصيلا.

<project>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                    <mainClass>com.example.Main</mainClass>
                    <arguments>
                        <argument>argument1</argument>
                    </arguments>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

نصائح أخرى

الإجابات المذكورة أعلاه صحيحة ولكني أبسط ذلك من أجل NOOBS مثل ME.Go إلى ملف POM الخاص بك. إضافة خاصية جديدة exec.mainClass وإعطاء قيمتها كطبقة تحتوي على طريقة رئيسية. بالنسبة لي كان DriverClass في mainpkg. وبعد تغييره حسب مشروعك.enter image description here

بعد القيام بهذا التنقل إلى المجلد الذي يحتوي على مشروعك pom.xml وتشغيل هذا على موجه الأوامر mvn exec:java. وبعد هذا يجب أن يسمي الطريقة الرئيسية.

1. تحرير pom.xml

أضف الخاصية التالية في pom.xml. وبعد تأكد من استخدام اسم الفئة المؤهلة بالكامل (أي مع اسم الحزمة) الذي يحتوي على main طريقة:

<properties>
        <exec.mainClass>${fully-qualified-class-name}</exec.mainClass>
</properties>

2. تشغيل القيادة

الآن من المحطة، يؤدي الأمر إلى الأمر التالي:

mvn clean compile exec:java

ملاحظة يمكنك اجتياز المزيد من الوسائط عبر -Dexec.args="xxx" علم.

إعطاء exec maven plugin. جرب

لا حاجة لإضافة مكون إضافي جديد في Pom.xml. فقط قم بتشغيل هذا الأمر

mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)' 

انظر مافن exec البرنامج المساعد لمزيد من الاستخدام.

clean package exec:java -P Class_Containing_Main_Method أمر هو أيضا خيار إذا كان لديك طريقة رئيسية واحدة فقط (PSVM) في المشروع، مع إعداد Maven التالي.

لا تنسى أن تذكر الفصل في <properties></properties> قسم من pom.xml :

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.main.class>com.test.service.MainTester</java.main.class>
</properties>

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <configuration>
           <mainClass>${java.main.class}</mainClass>
        </configuration>
</plugin>

STS. قم بتشغيل التكوين جنبا إلى جنب مع إعداد أعلى من Maven:

enter image description here

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top