Создайте отдельное приложение с Maven
Как создать настольное (автономное /Swing) приложение с Maven?
Я использую Eclipse 3.6.
4 ответа
Создайте проект Maven следующим образом:
mvn archetype:generate -DgroupId=com.yourapp.app -DartifactId=swingapp -Dversion=1.0-SNAPSHOT
Добавьте следующую запись в ваш файл 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>
Импортируйте проект в Eclipse как проект Maven, затем запустите как приложение Java.
Следующие работы для меня:
- Создать стандартный проект Java
- Создайте исходную папку "src/main/java"
- Создайте пакет "testswing" в исходной папке
Создать класс "Приложение" с основным методом
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); } }
Преобразовать в проект Maven (с помощью меню "Настроить... Преобразовать в проект Maven" правой кнопкой мыши)
Убедитесь, что 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>
Запустите сборку Maven с целью "package" (меню Run As... Maven Build)
- Вы должны получить исполняемый файл.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 для разработки.
Создать проект Maven.
Перейдите в каталог рабочего пространства eclipse и используйте следующую командную строку:
mvn archetype:create -DgroupId=com.test -DartifactId=AppTest
Импортировать проект в затмении:
В меню Файл > Импорт... выберите Существующие проекты Maven:
Ввод /просмотр... каталог рабочего пространства eclipse (каталог предыдущего шага) и выберите проект:
Наслаждайтесь!