【问题标题】:Create a standalone application with Maven使用 Maven 创建一个独立的应用程序
【发布时间】:2011-11-12 18:57:49
【问题描述】:

如何使用 Maven 创建桌面(独立/Swing)应用程序?

我正在使用 Eclipse 3.6。

【问题讨论】:

  • 您面临的具体问题是什么? Maven 是一个构建工具,它应该与您正在构建的内容无关紧要,更多的是您如何编译它。看看一些 netbeans 教程。在项目还小的时候,很容易将项目更改为使用 maven。如果您正在寻找它的原型,那么我敢肯定有很多。

标签: java eclipse maven


【解决方案1】:
  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. 将项目作为 Maven 项目导入 Eclipse,然后作为 Java 应用程序运行。

【讨论】:

    【解决方案2】:

    以下对我有用:

    1. 创建标准 Java 项目
    2. 创建源文件夹“src/main/java”
    3. 在源文件夹中创建一个包“testswing”
    4. 使用 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);
          }  
      }
      
    5. 转换为 Maven 项目(通过 Configure...Convert to Maven Project 右键菜单)

    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 构建(运行方式... Maven 构建菜单)

    8. 您应该获得一个可执行的 .jar 文件,该文件作为独立的 Swing 应用程序运行

    【讨论】:

      【解决方案3】:
      archetype used?
      

      swing 应用程序是标准 JAR,因此只需使用标准原型:

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

      如果您打算仅使用标准 Swing API,则无需声明额外的依赖项。对于额外的功能主义者,您必须在存储库中使用适当的依赖项

      【讨论】:

        【解决方案4】:

        更新!

        如果出现以下错误(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. 在eclipse中导入项目:

          在菜单File > Import...中,选择Existing Maven Projects

          输入/浏览... eclipse工作区目录(上一步的目录)并选择项目:

          享受吧!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-01-24
          • 1970-01-01
          • 1970-01-01
          • 2011-03-13
          • 2012-05-18
          • 2010-11-09
          • 2016-07-04
          相关资源
          最近更新 更多