添加Main-Class到manifest中

Maven默认打包生成的jar是不能够直接运行的,因为带有main方法的类信息不会添加到manifest中(打开jar文件中的META-INF/MANIFEST.MF文件,将无法看到Main-Class一行)。为了生成可执行的jar文件,需要借组maven-shade-plugin,配置该插件如下:

<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>cn.xianshiyouhui.mvntest</groupId>
	<artifactId>hello-world</artifactId>
	<version>1.0-SNAPSHOT</version>
	<name>Maven Hello World Project</name>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>2.3</version>
				<configuration>
					<transformers>
						<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
							<mainClass>cn.xianshiyouhui.mvnbook.helloworld.HelloWorld</mainClass>
						</transformer>
					</transformers>
				</configuration>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
时间: 2024-10-26 09:43:51

添加Main-Class到manifest中的相关文章

将字符串添加到指定的文件中去 AppendAllText ;判断指定路径的文件是否存在File.Exists(Path)

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Program { static void Main(string[] args) { string path = @"F:\1.txt"; //指定文件的路径 //---------------------------------------------- //.Exi

Android获取Manifest中&lt;meta-data&gt;元素的值

前些时间完成了游戏攻略项目的开发.里面用到了批量打包.不是网市场上提交,而是通过设置Manifest中的Meta_data>去获得相关参数,游戏ID号改变,游戏ID改变,然后游戏内容就改变.当时是把参数写在Activity中了.今天又查了些文件总结下. 被包含在<activity>.<application> .<service>和<receiver>元素中, 不同的父元素,在应用时读取的方法也不同.他们都有相关的Info读取. 1 :在Activit

eclipse 添加 Courier New 字体,系统中是有这个字体但是Eclipse看不到

想要在 Eclipse中添加 Courier New 字体,但是没有在 eclipse->windows->preferences->general->apperance->colors and fonts->basic->text fonts 中找到这个字体,但是这个字体我以前在系统字体中看到过,怎么会没有 .于是乎[下面是我已经设置好的],     原先是“显示” 点击一下,让这个字体可见 ,重启Eclipse 然后就可以在字体中找到了 eclipse 添加

Native Oracle Barcode Generator可以添加条形码到Oracle Reports中而不用安装特定的字体库

Native Oracle Barcode Generator条形码控件是一个可以被嵌入到Oracle Reports中用于创建条码图像的一个对象.一旦安装后,不需要安装其它的任何组件或字体库来创建条码:它是完整的条码生成器. 具体功能: 轻松地添加条形码到Oracle Reports中而不用安装特定的字体库. 包括正在申请专利的技术在其他任何公司都是无法获得的. 在一个编译好的PLL库中提供一个完整的Oracle 条码生成器对象. 创建的本地和纯PL/SQL 代码的源代码是可用的. 多地区设置

将MenuStrip控件中的信息添加到TreeView控件中【转载】

本文详细介绍怎样将MenuStrip控件中的信息添加到TreeView控件中 首先在WinForm窗体中添加一个MenuStrip控件和TreeView控件,根据个人的爱好把控件布局好后.在窗体的加载事件中(根据自己的情况而定)添加如下的代码: /// <summary>   /// 窗体加载时事件   /// </summary>   /// <param name="sender"></param>   /// <param n

manifest中的largeHeap是干什么用的?

转 http://blog.csdn.net/jiaoyang623/article/details/8773445 今天群里有人讨论怎么给app分配超过100M的内存,有人亮出了largeHeap参数.搜搜资料写写代码,大概有些了解.以我的手机htc one x为例说明一下 先看机器的内存限制,在/system/build.prop文件中: [plain] view plain copy dalvik.vm.heapsize=128m dalvik.vm.heapgrowthlimit=64m

dictionary将键和值添加或替换到字典中:如果不存在,则添加;存在,则替换

/// <summary> /// 将键和值添加或替换到字典中:如果不存在,则添加:存在,则替换 /// </summary> public static Dictionary<TKey, TValue> AddOrPeplace<TKey, TValue>(this Dictionary<TKey, TValue> dict, TKey key, TValue value) { dict[key] = value; return dict; }

将python添加到DOS搜索路径中去

1.安装python,我的程序安装在C:\Python34中文件目录中. 2.设置环境变量: 例如你的程序为:C:\Python34,则你需要把这个地址粘贴在: 右键我的电脑->属性->高级->环境变量,然后再下边的 系统变量 选择框中,编辑path(不区分大小写),在变量值的框中,添加:" ;C:\Python26"双引号中的内容

添加Bootstrap 到MVC项目中(vs2010)

环境:Visual Studio 2010   ASP.NET MVC3 手动添加: 下载地址:http://twitter.github.com/bootstrap/ 一个js,两个css,两张图 js 文件:  •bootstrap.min.js CSS 文件:  •bootstrap.min.css  •bootstrap-responsive.min.css image 文件:  •glyphicons-halflings.png  •glyphicons-halflings-white