使用Maven创建一个独立的应用程序
如何使用Maven创建桌面(独立/ Swing)应用程序?
我正在使用Eclipse 3.6。
-
创建一个Maven项目如下:
mvn archetype:generate -DgroupId=com.yourapp.app -DartifactId=swingapp -Dversion=1.0-SNAPSHOT
-
将以下条目添加到您的pom文件中:
org.apache.maven.plugins maven-jar-plugin 2.3.1 com.yourapp.app.YourMainClass -
将项目作为Maven项目导入Eclipse,然后作为Java应用程序运行。
以下为我工作:
- 创建一个标准的Java项目
- 创建一个源文件夹“src / main / java”
- 在源文件夹中创建一个包“testswing”
-
使用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包含指定主类的清单:
4.0.0 TestSwing TestSwing 0.0.1-SNAPSHOT org.apache.maven.plugins maven-jar-plugin testswing.App -
使用“包”目标运行Maven构建(运行方式… Maven构建菜单)
- 您应该获得一个可执行的.jar文件,该文件作为独立的Swing应用程序运行
archetype used?
swing应用程序是标准JAR,因此只需使用标准原型:
mvn archetype:generate -DgroupId=com.yourapp.app \ -DartifactId=swingapp \ -Dversion=1.0-SNAPSHOT
如果您计划仅使用标准的Swing API,则不需要声明额外的依赖项。对于额外的function主义者,您必须在存储库中使用适当的依赖项
UPDATE!
如果您收到以下错误(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.() -> [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工作区目录(上一步的目录)并选择项目:
请享用!
- 在Eclipse中调试我的Java代码时,我得到“Source not found”
- 如何在eclipse svn存储库中更改用户?
- 如何在Eclipse PDE中表达项目间依赖项
- Android Tab Fragment(Eclipse ApI 22)中不推荐使用ActionBarActivity和ActionBar.TabListener
- UUID蓝牙和Android设备
- 同时兼顾Java和JavaScript
- 如何使用java在整个屏幕上平滑移动鼠标?
- 使用java,eclipse和ant自动复制构建的文件和库
- 我把这个代码直接从’Java all in one for Dummies’中取出来……为什么它不起作用?