【发布时间】:2011-11-12 18:57:49
【问题描述】:
如何使用 Maven 创建桌面(独立/Swing)应用程序?
我正在使用 Eclipse 3.6。
【问题讨论】:
-
您面临的具体问题是什么? Maven 是一个构建工具,它应该与您正在构建的内容无关紧要,更多的是您如何编译它。看看一些 netbeans 教程。在项目还小的时候,很容易将项目更改为使用 maven。如果您正在寻找它的原型,那么我敢肯定有很多。
如何使用 Maven 创建桌面(独立/Swing)应用程序?
我正在使用 Eclipse 3.6。
【问题讨论】:
如下创建一个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>
将项目作为 Maven 项目导入 Eclipse,然后作为 Java 应用程序运行。
【讨论】:
以下对我有用:
使用 main 方法创建一个类“App”
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 项目(通过 Configure...Convert to Maven Project 右键菜单)
确保 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 构建(运行方式... Maven 构建菜单)
【讨论】:
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
在eclipse中导入项目:
在菜单File > Import...中,选择Existing Maven Projects:
输入/浏览... eclipse工作区目录(上一步的目录)并选择项目:
享受吧!
【讨论】: