java无法启动main函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java无法启动main函数相关的知识,希望对你有一定的参考价值。

我在SVN上下载的一个工程,找到main函数只要一运行就弹出这个错误The project: Preferences which is referenced by the classpath, does not exist.,但是以前下载下来的项目运行却没有问题,这是什么原因。

1、首先看看项目checkout出来后有错误吗?如果有错误,先解决错误。
2、如果没有错误。点击项目鼠标右键---build path--configure build path--点击开后
3、在打开的选项卡中找到:Libraries中把jar去掉,然后再“Add JARS”,点击ok
4、重新编译。
祝你好运。追问

我用的是eclipse ---build path下面没有这个configure build path,下面只有两个节点都没有Libraries

追答

那就直接排查错误。排查问题比解决问题有技术含量,希望你能尽快解决。

参考技术A classpath路径找不到,修改 属性--> java build path-->source -->default output folder 参考技术B 可能此工程需要一些特殊的包,而你恰好没有追问

我的工程名上面是有一个红叉叉,但是整个工程里面找不到报错的地方,是缺包的问题嘛?

参考技术C 从外边导入的项目引入不到依赖的jar包了,楼主是用的eclipse吗,如果是的话,在build path里设置

错误 namenode.NameNode (NameNode.java:main(1715)) - 无法启动 namenode

【中文标题】错误 namenode.NameNode (NameNode.java:main(1715)) - 无法启动 namenode【英文标题】:ERROR namenode.NameNode (NameNode.java:main(1715)) - Failed to start namenode 【发布时间】:2022-01-20 13:24:39 【问题描述】:

我正在尝试重新启动其中一个名称节点 (nn2),但我在日志中收到以下错误:

2021-12-17 10:23:53,676 ERROR namenode.NameNode (NameNode.java:main(1715)) - Failed to start namenode.
org.apache.hadoop.hdfs.server.namenode.EditLogInputException: Error replaying edit log at offset 0.  Expected transaction ID was 274488049
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadEditRecords(FSEditLogLoader.java:226)
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadFSEdits(FSEditLogLoader.java:160)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadEdits(FSImage.java:890)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:745)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:323)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1090)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:714)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:632)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:694)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:937)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:910)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1643)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1710)
Caused by: org.apache.hadoop.hdfs.server.namenode.RedundantEditLogInputStream$PrematureEOFException: got premature end-of-file at txid 274488048; expected file to go up to 274488109
        at org.apache.hadoop.hdfs.server.namenode.RedundantEditLogInputStream.nextOp(RedundantEditLogInputStream.java:197)
        at org.apache.hadoop.hdfs.server.namenode.EditLogInputStream.readOp(EditLogInputStream.java:85)
        at org.apache.hadoop.hdfs.server.namenode.EditLogInputStream.skipUntil(EditLogInputStream.java:151)
        at org.apache.hadoop.hdfs.server.namenode.RedundantEditLogInputStream.nextOp(RedundantEditLogInputStream.java:179)
        at org.apache.hadoop.hdfs.server.namenode.EditLogInputStream.readOp(EditLogInputStream.java:85)
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadEditRecords(FSEditLogLoader.java:213)
        ... 12 more
2021-12-17 10:23:53,678 INFO  util.ExitUtil (ExitUtil.java:terminate(210)) - Exiting with status 1: org.apache.hadoop.hdfs.server.namenode.EditLogInputException: Error replaying edit log at offset 0.  Expected transaction ID was 274488049
2021-12-17 10:23:53,681 INFO  namenode.NameNode (LogAdapter.java:info(51)) - SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at XX-XXX-XX-XXXX.XXXXX.XX/XX.X.XX.XX
************************************************************/

我尝试执行以下步骤来解决问题:

我从 nn01 复制了以下日志到 nn02 的 NameNode 目录 编辑_0000000000274487928-0000000000274488048

edits_0000000000274488049-0000000000274488109

到目前为止,nn02 仍然没有启动,我得到了同样的错误。 你能帮忙吗?

【问题讨论】:

【参考方案1】:

如果这是一个 HA 设置,并且您的 NN1 工作正常。格式化您的 NN2(hdfs namenode -format)并进行引导(hdfs namenode -bootstrapStandby) 然后尝试重新启动 NN2。

【讨论】:

以上是关于java无法启动main函数的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot 使用 main函数 无法启动的问题完美 解决方案。

无法通过jar文件启动我的第一个Java程序

java里面request这个东西我不启动tomcat等容器的服务,只写一个main主函数,能得到这个request吗?

java.lang.RuntimeException:无法启动活动 ComponentInfoat.mksquad.swapit/at.mksquad.swapit.ui.screenflow.mai

重启虚拟机后,Hive无法启动,如何解决?

eclipse中启动tomcat出现错误: 找不到或无法加载主类 org.apache.tomcat.startup.Main