转:http://blog.csdn.net/zht666/article/details/25678747
最近使用Maven构建了一个Java Swing小程序,想编译成能够双击运行的jar文件,但是项目还使用了mybatis等框架,如果只是在Maven做如下配置:
- <groupId>MyApp</groupId>
- <artifactId>MyApp</artifactId>
- <packaging>jar</packaging>
- <version>1.2</version>
虽然生成了jar,但是不包含依赖的lib库文件,也无法双击运行。
后来在网络上搜索了一下,发现可以使用如下配置解决,在Maven配置文件中添加如下代码:
- <build>
- <!--使用Maven编译可执行的jar-->
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <appendAssemblyId>false</appendAssemblyId>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- <archive>
- <manifest>
- <mainClass>com.example.tool.app.MainApp</mainClass>
- </manifest>
- </archive>
- </configuration>
- <executions>
- <execution>
- <id>make-assembly</id>
- <phase>package</phase>
- <goals>
- <goal>assembly</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
注意:将<mainClass>修改成你自己的入口方法所在类的路径。
添加之后,运行Maven的package命令即可生成一个可执行的jar,第三方依赖的库文件也都能包含进去。