java开发GUI程序,用maven搭建环境
Posted iwideal
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java开发GUI程序,用maven搭建环境相关的知识,希望对你有一定的参考价值。
一、eclipse安装好maven插件之后,用maven的archetype创建一个OSGI项目,搭建好项目骨架。
二、可执行jar文件分为两种,一种是可通过命令行java -jar xxx.jar 可以直接运行的jar文件,一种是工其他jar文件调用的jar文件。第一种jar文件的META-INF文件夹下的manifest.MF文件含有Main-Class值,第二种jar文件则不包含。第一种的jar文件可以直接运行的原因是,其可以直接调用到其所依赖依赖的jar包,第一种方式是直接在manifest.MF文件中配上Class-Path的值,第二种方式可以将所依赖的jar文件一起打包进该jar包,可以通过maven插件,下面提供两种插件方式。
第一种:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.sinoi.APP</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
运行mvn clean package即可
批注:
经过我本人自测之后发现,这种方式虽然可以打包,但是不会将依赖包也添加进去。可以手动将依赖包配到<classpathPrefix>元素的路径下,然后命令行运行。
第二种:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.sinoi.APP</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
运行mvn clean package即可
批注:
经过我本人自测之后发现,这种方式虽然可以打包,但是不会将依赖包也添加进去。可以手动将依赖包配到<classpathPrefix>元素的路径下,然后命令行运行。
第二种:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.3</version>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies<descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.HelloWorld</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
运行mvn assembly:assembly ( 我自己使用mvn clean package也是可以的)
批注:
这个方式和方式1不同,这种打包方式,将项目及所依赖的所有jar文件以类的方式打入jar包,让打出来的JAR包成为一个可独立运行的JAR包
<descriptorRef>jar-with-dependencies<descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.HelloWorld</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
运行mvn assembly:assembly ( 我自己使用mvn clean package也是可以的)
批注:
这个方式和方式1不同,这种打包方式,将项目及所依赖的所有jar文件以类的方式打入jar包,让打出来的JAR包成为一个可独立运行的JAR包
以上是关于java开发GUI程序,用maven搭建环境的主要内容,如果未能解决你的问题,请参考以下文章
Idea开发环境中搭建Maven并且使用Maven打包部署程序