我确实使用过Spring,但我是Spring Roo的新用户,所以我已经下载了1.3.2并希望运行pizzashop示例。 我有maven 3.2.1,安装了JDK8。我从命令行启动了Roo,并希望执行"脚本pizzashop.roo"在新创建的目录中,但是我遇到了几个错误:
我运行了执行包,这是成功的,之后我尝试了mvn tomcat:从命令行运行,但失败了:
2015-11-27 09:10:03,645 [main] ERROR org.springframework.web.context.ContextLoader - Context 初始化失败 org.springframework.beans.factory.parsing.BeanDefinitionParsingException: 配置问题:无法读取候选组件类: 文件 [C:\发展\部件\ roo_pizza \目标\类\ COM \ SpringSource的\ pizzashop \域\ PizzaOrderPk.class]; 嵌套异常是org.springframework.core.NestedIOException:ASM ClassReader无法解析类文件 - 可能是由于新的Java 尚未支持的类文件版本:类路径资源 [爪哇/ IO / Serializable.class]
对我来说,看起来Java 8不受支持,尽管我读过Roo 1.3增加的Java8支持。 (我对ApplicationContext问题没有任何想法。) 我想在下周做一个Roo演示,感谢任何帮助。
由于
TeaBee
答案 0 :(得分:0)
Spring Roo是一个非常灵活的工具,但这意味着它也很复杂和繁琐。超过50%,当我使用它时,我必须手动解决问题以使其运行。但另一方面,你有一个强大的工具。 如果你不适合使用弹簧,我建议你想要使用更轻巧,更稳定的工具,比如JBoss Forge或generjee。或者,如果你真的需要弹簧,请检查弹簧。
答案 1 :(得分:0)
所以,我开始修理东西: 首先,我降级到Java7,然后升级到maven 3.3.9。 首先,roo命令"执行测试"无法运行。这需要通过将mvnXXX.cmd文件(在maven \ bin中)复制到mvnXXX.bat来进行修复。看起来roo正在寻找" bat"文件。 现在,一切都运行良好。 我也注意到,通过运行mvn tomcat:run,Catalina 6.0.29启动了。所以我改为mvn tomcat7:run。我将恢复为Java8,并发布结果。
答案 2 :(得分:0)
因此,在升级到Java8之后,roo控制台抱怨无法加载ApplicationContext。 尝试添加:
Intent intent3 = new Intent(Intent.ACTION_SEND);
intent3.setData(Uri.parse("mailto:"));
intent3.setType("text/plain");
intent3.putExtra(Intent.EXTRA_EMAIL, new String[]{"abc@gmail.com"});
intent3.putExtra(Intent.EXTRA_SUBJECT,"Temat");
intent3.putExtra(Intent.EXTRA_TEXT, "Tekst wiadomości");
PendingIntent pendingEmailIntent = PendingIntent.getActivity(context,0,Intent.createChooser(intent3,"Choose"),0);
RemoteViews remoteViews = new RemoteViews(context.getPackageName(),R.layout.widget_layout);
remoteViews.setOnClickPendingIntent(R.id.email_button,pendingEmailIntent);
到pom.xml,但没有帮助。
答案 3 :(得分:0)
所以,这是我做的修改,以启用Java8。 java设置为1.8 aspectj设置为1.8.3 sprint设置为4.2.3.RELEASE
抱怨:
The method installFormatters(FormatterRegistry) of type ApplicationConversionServiceFactoryBean must override or implement a supertype method in ApplicationConversionServiceFactoryBean.java
因为installFormatters在Spring 4中已被弃用。 注释掉了installFormatters Override部分。
将aspectj-maven-plugin升级到1.8.3 将pom.xml添加1.8到aspectj-maven-plugin
[WARNING] advice defined in org.springframework.mock.staticmock.AnnotationDrivenStaticEntityMockingControl has not been applied [Xlint:adviceDidNotMatch]
c:\development\components\roo_pizza\org\springframework\mock\staticmock\AnnotationDrivenStaticEntityMockingControl.aj:117
[INFO]
[INFO] --- aspectj-maven-plugin:1.8:test-compile (default) @ pizzashop ---
[INFO] Showing AJC message detail for messages of types: [error, warning, fail]
[WARNING] this affected type is not exposed to the weaver: com.springsource.pizzashop.domain.PizzaOrderPk [Xlint:typeNotExposedToWeaver]
c:\development\components\roo_pizza\org\springframework\beans\factory\aspectj\AnnotationBeanConfigurerAspect.aj:82
[WARNING] this affected type is not exposed to the weaver: com.springsource.pizzashop.domain.PizzaOrderPk [Xlint:typeNotExposedToWeaver]
c:\development\components\roo_pizza\org\springframework\beans\factory\aspectj\AnnotationBeanConfigurerAspect.aj:88
[WARNING] this affected type is not exposed to the weaver: com.springsource.pizzashop.domain.PizzaOrderPk [Xlint:typeNotExposedToWeaver]
c:\development\components\roo_pizza\org\springframework\beans\factory\aspectj\AbstractInterfaceDrivenDependencyInjectionAspect.aj:100
我仍然对这些警告感到不安,但是测试通过了,而且似乎是PizzaShop的运行。