main方法执行方法时报错,但是通过tomcat部署之后用网页方法访问就没问题

main方法报的错误是类编译失败。
jdk1.6.0_12 myeclipse6.6, apache-tomcat-6.0.35,还需要别的环境信息吗?如何写的这个,不知道是想知道什么?我是直接在action中调用的main方法。@yangyu125 是直接执行main方法没有通过,报错了,然后部署到tomcat下面,通过action调的main方法,然后通过网页访问的action.

代码确实不好贴,太复杂了,里面各种调用,而只贴main方法的话,里面确实只有一个调用,没什么用。只贴一下错误信息吧。我之前不贴,是因为觉得没什么用。因为这个编译失败的类代码中是没有的,所以应该是框架生成的类,这个要解释就太麻烦了。因为我觉得应该是环境的问题,是希望见过这种问题的人帮忙指导一下,不是想那些连main方法怎么运行都不知道的人在那儿秀智商下限的。

既然编译失败,肯定是JDK没配置好或者你类里面的某个字写错了。环境变量只要配置一个path就够了,指向jdk的bin目录。像这种情况楼主最好是把源码跟错误的代码贴出来。既然你在tomcat下可以运行,那么证明类是正确的,之前的JRE没编译好了,可能使用了低版本的JRE去编译高版本的类文件。
试试更换个JRE看看。
楼下的有个人说的那个我挺赞同的。按理说编译错误不应该是运行的时候报错,那应该是框架使用了反射对某个配置文件里面的类加载编译。而main方法没有能在classpath中找到配置文件中的类。那么试试把classpath配置成这样看看 .;配置文件中类的目录;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-08
...你这理解有点绕啊...
虽然说main是一般右键运行的程序入口,但放在web环境下,main 也就是一个类的一个方法罢了...
如果main里面涉及到了其他web的东西,没有部署启动服务器,怎么可能调的出来,不报错就有鬼了...追问

我说了啊,是先执行main方法,报错之后部署到tomcat下面的。执行main方法是在myeclipse里面做的。我天,你们难道都是通过文本文档写的程序么,没用过myeclipse和eclipse么?我在回复下面那个人的时候就说了啊,是直接右键,点run as java application,我没有说过,是在web环境下运行main方法。在web环境下是通过action调用main方法。

追答

哎,俗话说得好,要想学习新东西,脑袋里面的东西先倒掉比较好。
你这是完全抗拒其他思路的节奏啊....

直接右键运行main,只是在当前类从main入口进入程序,其他相关环境根本没有运作,当然要报错,在web里面用action 调用,环境已经运行起来了,调用main只是调用一个类的一个方法,并不是启动程序了...

带着固有的眼光看,理解完全偏向错误的方向了...我什么时候说你报错是在web下了?

追问

我通过main方法调用其他方法的时候,没有问题,只有这个启动了框架中的工作流,报错的信息也是跟工作流相关的。
我同事也是通过这种方式调用,他的没问题,所以我想问的是环境问题,重点不是怎么运行,在哪里运行。我提出来在web环境下可以运行只是为了证明我代码没问题,环境也是按照web需要的设置的。
之前有其他的同事也出现过这个问题,但是他是因为没有设环境变量,而且是在web工程下。

追答

是直接执行main方法没有通过,报错了,然后部署到tomcat下面,通过action调的main方法,然后通过网页访问的action.
你原话不是说直接执行错了么...
算了,光看错误信息什么都看不出来,我给跪了..
完全听不懂你在说啥...

第2个回答  2014-04-08
main方法的运行和在tomcat下运行是不太相同的,可能出现的问题就是类编译路径不同,导致目标地址错误,或者导致java文件无法找到。
具体的问题要看这个类里面的实现是什么了,以简单的异常来看,估计是要在运行时编译代码。。但是,编译失败了。。
第3个回答  2014-04-08
部署到 tomcat下的web工程,是不会执行 main方法的。

很有意思 main方法怎么能自己去执行? 要不你就贴代码?你光说哪个晓得你啥问题?追问

是在main方法所在的那个java类里,直接右键,然后点run as java application。然后就报了个类编译错误。

追答

没救!

在web项目里,执行main函数,是没有上下文的。就像同一份代码跑了两次。如果action里用到了某个对象,又再 main函数里去用这个对象,那他们是完全两个不同的对象,因为所属进程都不一样 web项目的进程属于 tomcat main的进程属于 javaw.exe

如果以为main函数启动了,就能拿到web项目运行时的状态信息,那就见鬼了。就算真要这养,牵涉到进程间通信。思维方式没对,main这个东西不应该出现在 web项目里。

第4个回答  2014-04-08
那要看如何写的了、什么环境中的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网