手动增加主类时 注意:Main-Class: 后有一个空格
Main-Class: org.springframework.boot.loader.JarLauncher
提示没有主清单属性, 其实就是在 MainClass.jar 包中META-INF文件夹内MANIFEST.MF中缺少内容. 当前内容如下:
时我们只需要在后面添加以下内容 (com.xxx.MainClass 为启动类, 含有main方法)
对命令 jar -cvfe MainClass1.jar com.xxx.MainClass com/ 做一个小小的解释:
-c 打包
-v 输出详细信息(可有可无)
-f 指定文件名字
-e 指定入口类
MainClass1.jar 打包生成的文件名
com.xxx.MainClass 就是要写入到MANIFEST.MF文件中的 Main-class: 后面的类名
com/ 被打包的目录
当然, 这种情况是很少遇到的 ! 作为一个Java程序员, 电脑里没有个IDEA, 没有个eclipse, 没有个Maven 怎么可能? 所以最简单的方式还是通过工具来生成, 还不容易出错! 网上有很多博客写关于使用Maven打包, 写的都很好,一看激动!
jar -cvfe test.jar com.jiuxian.channel.ChannelUtil ./
android class 文件生成的位置
/jiuxian_studio/updateutil/build/intermediates/javac/release/compileReleaseJavaWithJavac/classes
用gradle打jar包的方式
//task to delete the old jar
task deleteOldJar(type: Delete) {
delete 'release/AndroidPlugin.jar'
}
//task to export contents as jar
task exportJar(type: Copy) {
from('build/intermediates/bundles/release/')
// from('build/intermediates/javac/release/')
into('release/')
include('classes.jar')
///Rename the jar
rename('classes.jar', 'AndroidPlugin.jar')
}
exportJar.dependsOn(deleteOldJar, build)
打jar包
我项目工程中用的是android library的方式, 用这种方式,本人试的不行,但会在build/outputs/arr目录下生成 arr的包,
/build/intermediates/javac 目录下也会生成 相应的 *.class 文件, 然后通过 java 的
jar -cvfe test.jar com.jiuxian.channel.ChannelUtil ./ 方式打出的jar
点击 android studio 菜单栏的 【build】-> 【make Module xxx】也会在对应的子Module下生成 arr
网友评论