Создайте отдельное приложение с Maven

Как создать настольное (автономное /Swing) приложение с Maven?

Я использую Eclipse 3.6.

4 ответа

Решение
  1. Создайте проект Maven следующим образом:

    mvn archetype:generate -DgroupId=com.yourapp.app 
                           -DartifactId=swingapp  
                           -Dversion=1.0-SNAPSHOT
    
  2. Добавьте следующую запись в ваш файл pom:

    <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.3.1</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.yourapp.app.YourMainClass</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
    </build>
    
  3. Импортируйте проект в Eclipse как проект Maven, затем запустите как приложение Java.

Следующие работы для меня:

  1. Создать стандартный проект Java
  2. Создайте исходную папку "src/main/java"
  3. Создайте пакет "testswing" в исходной папке
  4. Создать класс "Приложение" с основным методом

    package testswing;
    
    import javax.swing.JFrame;
    
    public class App {
        public static void main(String[] args) {
            JFrame f=new JFrame("Hello World");
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.setVisible(true);
        }  
    }
    
  5. Преобразовать в проект Maven (с помощью меню "Настроить... Преобразовать в проект Maven" правой кнопкой мыши)

  6. Убедитесь, что pom.xml содержит манифест, который определяет ваш основной класс:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>TestSwing</groupId>
        <artifactId>TestSwing</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>testswing.App</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    
  7. Запустите сборку Maven с целью "package" (меню Run As... Maven Build)

  8. Вы должны получить исполняемый файл.jar, который запускается как отдельное приложение Swing
archetype used?

Приложение Swing - это стандартный JAR, поэтому просто используйте стандартный архетип:

mvn archetype:generate -DgroupId=com.yourapp.app \
                       -DartifactId=swingapp     \
                       -Dversion=1.0-SNAPSHOT

Если вы планируете использовать только стандартный Swing API, не нужно объявлять дополнительные зависимости. Для дополнительных функционалистов вы должны использовать соответствующие зависимости в репозитории.

ОБНОВИТЬ!

Новая иконка Если вы получаете следующую ошибку (Apache Maven 3.3.1):

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.3:create
(default-cli) on project standalone-pom: Unable to parse configuration of mojo org.apache
.maven.plugins:maven-archetype-plugin:2.3:create for parameter #: Cannot create instance 
of interface org.apache.maven.artifact.repository.ArtifactRepository: org.apache.maven.ar
tifact.repository.ArtifactRepository.<init>() -> [Help 1]

Используйте следующую команду:

mvn archetype:generate -DgroupId=com.test -DartifactId=AppTest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Вы можете предпочесть инструмент командной строки для создания проекта, и вы можете предпочесть Eclipse для разработки.

  1. Создать проект Maven.

    Перейдите в каталог рабочего пространства eclipse и используйте следующую командную строку:

    mvn archetype:create -DgroupId=com.test -DartifactId=AppTest
    
  2. Импортировать проект в затмении:

    В меню Файл > Импорт... выберите Существующие проекты Maven:

    Импорт существующих проектов Maven

    Ввод /просмотр... каталог рабочего пространства eclipse (каталог предыдущего шага) и выберите проект:

    Выберите проекты Maven

    Наслаждайтесь!

Другие вопросы по тегам