使用intellij idea对springcloud项目打jar包
目录结构如下:
1.点击File->project Structure选项
2.在弹出页面选择高亮的选项
3.Main Class栏选(1)中main函数所在的class文件
然后如图选择(2),打包出来jar包各种依赖是分散的,但是没关系,正常跑。如果选择第一个选项也就是打成一个jar包,我试过很多种方法,参考过很多的博客,都没有成功,所以就选第二个吧。
然后有个地方(3)需要注意,直接默认的路径是不对的,最后打出的包跑不起来,应该把高亮的部分直接删掉,保留到src路径下,所以我把前面的目录结构帖了一下对着看看。还有一个地方要注意,如果Module有多个,一定要选下面main在的那一个。
点击ok继续
4.注意勾上选项,其他默认然后ok继续
5.然后点击build如图操作
6.在4中的output directory中可以找到所有的一堆jar包
当然,只需要在运行项目名称的那个Jar包就行:
java -jar xxxx.jar
如果遇到了META-INF/MANIFEST.MF already exists in VFS的错误,只需要删除这个文件即可,亲测有效
删除这个文件就可以了
如果遇到Error: Invalid or corrupt jarfile jar错误:
-
原因:IDEA中,在File\Project Structure\Artifacts\添加artifacts的时候,默认会在src/main/java/META_INF/下创建目录,但是此目录(src/main/java/)已标记为Sources Root,只编译;
-
解决方案:将src/main/java/META_INF剪切到目录src/main/resources/META_INF/,src/main/resources/是Resources Root,最后文件会拷贝到out目录。