![](/img/trans.png)
[英]How do you create a standalone application with dependencies intact using Maven?
[英]Create a standalone application with 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,則不需要聲明額外的依賴項。對於額外的功能主義者,您必須在存儲庫中使用適當的依賴項
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.<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工作區目錄(上一步的目錄)並選擇項目:
請享用!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.