这是前几天遇到的问题了,当天晚上想写下来来着,后来有事情就一直搁置到现在了。

由于我想将SpringCloud项目都导出jar包在虚拟机上运行,然后本地访问,所以先将SpringCloud中的注册中心项目右击run as,maven install,然后进入对应的目录执行java -jar XXX.jar,报错显示:没有主类(主清单),网上查了下,这种情况需要在pom.xml依赖文件中添加如下代码:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration></plugin></plugins>
</build>

此代码是参照网上写的,至于哪一个博客不记得了。。总之要有spring-boot-maven-plugin这个插件。
添加之后,再右击项目run as->maven build,在goal中写入assembly:assembly,
但执行jar包还是报错了:
Could not find goal ‘assembly’ in plugin org.apache.maven.plugins:maven-assembly-plugin:3.1.0 among available goals help, single -> [Help 1]
在百度上找了好多资料都说的是用该命令时:mvn install:install-file -Dfile,在 install:后面多加了空格,但是我是直接鼠标点击,选项输入的啊。

再一次在谷歌中搜索,发现在新版本的maven-assembly-plugin插件中assembly:assembly已经被移除了,现在改为assembly:single
此时再执行jar包,然而。。。还有错,,哭泣。。。
此时报错:Java heap space -> [Help 1](堆栈溢出—JVM)
后面再尝试,eclipse中又出现了新的错误:GC overhead limit exceeded,查了下原因可能是:
加载了太多资源到内存,本地的性能也不好,gc时间消耗的较多
然后参照博客的解决方案,修改eclipse.ini文件,增加参数,-XX:-UseGCOverheadLimit,即表示关闭这个特性,同时增加heap大小,-Xmx1024m, 然而并没有什么用,反而增大了Xms之后,一旦build之后,eclipse占用内存很大。

后来又看到有个网友回答server clean啥的,但是博主说这个不能解决实际问题。于是我在虚拟机中尝试了mvn clean(这个操作是build success的),再运行mvn compile assembly:single,依旧报错:

[ERROR] Java heap space -> [Help 1]
java.lang.OutOfMemoryError: Java heap spaceat java.lang.StringCoding$StringDecoder.decode (StringCoding.java:149)at java.lang.StringCoding.decode (StringCoding.java:193)at java.lang.String.<init> (String.java:426)at java.util.jar.Manifest.parseName (Manifest.java:304)at java.util.jar.Manifest.read (Manifest.java:258)at sun.security.util.SignatureFileVerifier.processImpl (SignatureFileVerifier.java:276)at sun.security.util.SignatureFileVerifier.process (SignatureFileVerifier.java:263)at java.util.jar.JarVerifier.processEntry (JarVerifier.java:318)at java.util.jar.JarVerifier.update (JarVerifier.java:230)at java.util.jar.JarFile.initializeVerifier (JarFile.java:383)at java.util.jar.JarFile.getInputStream (JarFile.java:450)at sun.net.www.protocol.jar.JarURLConnection.getInputStream (JarURLConnection.java:164)at org.codehaus.plexus.components.io.resources.PlexusIoURLResource.getContents (PlexusIoURLResource.java:43)at org.codehaus.plexus.components.io.resources.Deferred.getContents (Deferred.java:60)at org.codehaus.plexus.components.io.resources.proxy.ResourceInvocationHandler.invoke (ResourceInvocationHandler.java:66)at com.sun.proxy.$Proxy33.getContents (Unknown Source)at org.codehaus.plexus.archiver.ArchiveEntry.getInputStream (ArchiveEntry.java:137)at org.codehaus.plexus.archiver.zip.AbstractZipArchiver$1.get (AbstractZipArchiver.java:550)at org.codehaus.plexus.archiver.zip.ConcurrentJarCreator.createEntry (ConcurrentJarCreator.java:276)at org.codehaus.plexus.archiver.zip.ConcurrentJarCreator.addArchiveEntry (ConcurrentJarCreator.java:196)at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.zipFile (AbstractZipArchiver.java:512)at org.codehaus.plexus.archiver.jar.JarArchiver.zipFile (JarArchiver.java:501)at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.zipFile (AbstractZipArchiver.java:561)at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.addResources (AbstractZipArchiver.java:421)at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchiveMain (AbstractZipArchiver.java:331)at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.execute (AbstractZipArchiver.java:234)at org.codehaus.plexus.archiver.AbstractArchiver.createArchive (AbstractArchiver.java:987)at org.apache.maven.plugins.assembly.archive.archiver.AssemblyProxyArchiver.createArchive (AssemblyProxyArchiver.java:445)at org.apache.maven.plugins.assembly.archive.DefaultAssemblyArchiver.createArchive (DefaultAssemblyArchiver.java:184)at org.apache.maven.plugins.assembly.mojos.AbstractAssemblyMojo.execute (AbstractAssemblyMojo.java:478)at org.apache.maven.plugins.assembly.mojos.SingleAssemblyMojo.execute (SingleAssemblyMojo.java:61)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/OutOfMemoryError

后来联想到之前运行过的一个项目,于是改了执行命令为:先mvn compile,后mvn package
这次终于build success,访问注册中心的地址,没有问题了。同样的,在eclipse下,
右击项目run as–>maven build,在goal中先compile执行后,再同样的步骤,在goal中输入package即可。
或者直接输入compile package一次性执行。

至此告一段落,再导入另外一个服务的项目jar包,虽然最后提示的是build success,但是过程中出现提示:
XXX.java使用了未经检查或不安全的操作。有关详细信息, 请使用 -Xlint:unchecked 重新编译
在浏览器访问相关页面,发现功能不能正常使用,报500错误。
于是百度查询一下(参考链接https://blog.51cto.com/1306733/1744501),可能是需要定义范型类型然后再使用,如下:
1、ArrayList al=new ArrayList();
2、方法前加入@SuppressWarnings(“unchecked”)
于是将XXX.java里的关于List和ArrayList做统一,然而并不是这个错误,后来发现是代码中出现黄色警告的问题,于是在方法前添加了@SuppressWarnings(“unchecked”),现在可以build success,但是页面功能还是不能正常使用,报错:Could not initialize class XXX。这个错误之前出现过,应该是没有读取到properties配置文件,也不知道为啥突然报这个错误,毕竟现在项目在eclipse中运行好好的。报的警告提示是:No URLs will be polled as dynamic configuration sources

再一次!百度查询,默认classpath不指定情况下,会在应用的 classpath 中寻找一个名为 config.properties 的文件并读取其内容作为配置属性。所以,将配置文件名称改为默认的config.properties
于是再次重新打jar包,访问页面,功能可以正常运行(Windows下的cmd中进入对应目录执行命令运行)。
emmm…然而我在虚拟机中执行命令java -jar XXX.jar运行后,访问页面,还是报错Java heap space

我。。。。。。。。。。。。。。。。。。。。。。。

后来改了环境变量里的参数,将其改大一些(网上基本是这样说的),然而这些没有用!!!
最后发现是分配给虚拟机的内存太小了==|||,电脑是16G运行内存,只分了2个G给虚拟机,将其改为4个G之后就没得问题了。。。。感觉自己好蠢啊。。。。o(╥﹏╥)o

maven install后,java -jar XXXX.jar运行---找不到主类问题 以及 虚拟机中执行jar包后 访问页面出现Java heap space等其他问题相关推荐

  1. java -jar 找不到引用类_怎么解决java -jar找不到主类问题

    怎么解决java -jar找不到主类问题 发布时间:2020-06-26 14:42:44 来源:亿速云 阅读:108 作者:Leah 怎么解决java -jar找不到主类问题?相信很多没有经验的人对 ...

  2. springboot打包成jar包后找不到xml,找不到主类的解决方法

    springboot打包成jar包后找不到xml,找不到主类的解决方法 参考文章: (1)springboot打包成jar包后找不到xml,找不到主类的解决方法 (2)https://www.cnbl ...

  3. Java jar 找不到主类_java-找不到JAR主类问题

    我必须创建一个JAR文件(不使用任何IDE) 那就是我在做什么: 我有一个名为Project的文件夹,这是主要文件夹,在这个文件夹中,我有两个文件夹和一个pdf文件. 一个名为ClassFiles的文 ...

  4. Spring Boot项目源码启动正常,打成jar包后启动报错找不到主类

    java -jar .\target\demo-0.0.1-SNAPSHOT.jar personal-demo-0.0.1-SNAPSHOT.jar中没有主清单属性 网上翻了,大多都是说在pom.x ...

  5. eclipse项目的maven工程找不到主类的解决办法

    eclipse项目的maven工程找不到主类的解决办法 2017-06-01 23:45 690人阅读 评论(0) 收藏 举报  分类: java(5)  版权声明:本文为博主原创文章,未经博主允许不 ...

  6. java找不到主类_Java找不到主类引发的探究

    一. 同一目录下,两个文件 t.java console.bat t.java:package t; public class t{ public static void main(String[]  ...

  7. 学习大数据的第13天——Java面向对象(接口、分析参数返回值的类型不同时如何解决、包以及访问权限修饰符(public、protected、默认、private))

    学习大数据的第13天--Java面向对象(接口.分析参数返回值的类型不同时如何解决.包以及访问权限修饰符(public.protected.默认.private)) 接口 接口的基本定义: 1.1.语 ...

  8. VM虚拟机中使用reboot命令后 无法重启虚拟机

    VM虚拟机中使用reboot命令后 无法重启虚拟机,需要如何处理

  9. Java jar 找不到主类,jar包找不到或无法加载主类

    H:\Java\day331>dir 驱动器 H 中的卷是 新加卷 卷的序列号是 2E89-7492 H:\Java\day331 的目录 2014/04/01  15:43 2014/04/0 ...

最新文章

  1. R语言临床预测模型的评价指标与验证指标实战:自定义的净重新分类指数NRI(Net Reclassification Index, NRI)函数
  2. Python标准库04 文件管理 (部分os包,shutil包)
  3. ssr pac_阴阳师新SSR千姬什么时候上线 ssr千姬活动上线时间一览
  4. windows7下消除快捷键箭头的方法
  5. DjangoORM增删改查
  6. Example-based volume illustrations
  7. 那天删库跑路后,在牢里写的MySQL数据恢复大法……
  8. 北师大网络教育计算机试题一的答案,北师大网络教育《专科英语一》作业3部分答案...
  9. C# 微信开发-----微信会员卡(一)
  10. html5点击事件_lt;detailsgt; | HTML5 详细内容标签
  11. 项目手册 1.0 发布
  12. WPF 自定义IconButton
  13. Matlab学习笔记之Matlab中括号用法
  14. Web开发之-CS架构与BS架构
  15. Struts——开源MVC框架
  16. 知乎上40个有趣回复,很精辟!
  17. 【Java基本数据类型】Long和long的区别
  18. Selenium安装流程
  19. 君子慎独,卑以自牧!
  20. word2vec源码解读

热门文章

  1. opencv生成彩色图c++代码实例及运行结果
  2. IT女性职场调查报告:韧性和坚强是两大法宝
  3. python拆分excel 样式不变_python带格式拆分excel表单,copy库完美搞定
  4. 黑马程序员--银行调度系统
  5. T12 顺丰快递寄送国际快递
  6. 头条的app工厂研发之道
  7. 深圳饿了么java工程师_【饿了么 研发工程师JAVA】-Utips校招-你的名企情报站
  8. Android multipart 上传文件到服务端
  9. 住房商业贷款利率、每万元需付利息
  10. EXCEL数据分析软件测试,【玩转OFFICE-EXCEL高效数据分析PPT完美演示】-前程无忧培训测评...