2013-07-21 16 views
2

我试图运行我的项目部署到应用程序引擎时出现错误。我看到的问题,如:在谷歌应用程序引擎中,jar文件之外的.class文件名长度是否有限制?

java.lang.ClassNotFoundException: com.seattleglassware.AuthServletSupport$$anonfun$finishOAuth2Dance$1$$anonfun$apply$33$$anonfun$apply$34$$anonfun$apply$37$$anonfun$apply$40$$anonfun$apply$41$$anonfun$apply$42$$anonfun$apply$45$$anonfun$apply$47$$anonfun$apply$48$$anonfun$apply$49 

类的名字看起来合理的(当然,对于某些合理值 - 由Scala编译器产生的,这是代码)。我在我的本地web/WEB-INF/classes/com目录中看到该文件,并且可以用javap对其进行反编译(所以我不认为它是损坏的或者其他任何愚蠢的东西)。在本地调试服务器上运行的一切正常。

更为奇怪的,我可以倒在网/ WEB-INF/classes中所有的.class文件到一个jar文件是这样的:

cd to the web/WEB-INF/classes directory 
jar cf ../lib/classes.jar . 

而现在,如果我上传的项目(按部署在Eclipse中),我没有看到那些ClassNotFoundException错误。删除jar文件,重新上传项目,再次获取错误。

我想知道是否对.class文件的名称有某种限制?或者在部署过程中发生了其他事情,导致这种情况发生?

编辑:文件名中的无效字符:在命令行中运行使这个更清楚(现在使用的Maven):

严重WEB-INF /班/ COM/seattleglassware/AuthServletSupport $$ anonfun $ finishOAuth2Dance $ 1 $$ anonfun $申请$ 33 $$ anonfun $申请$ 34 $$ anonfun $申请$ 37 $$ anonfun $申请$ 40 $$ anonfun $申请$ 41 $$ anonfun $申请$ 42 $$ anonfun $申请$ 45 $$ anonfun $申请$ 47 $$ anonfun $ apply $ 48 $$ anonfun $ apply $ 49.class

但它仍然看起来像这是一个有效的文件名。

回答

相关问题