2013-02-27 107 views
1

=(使用CentOS的发行版)=包Javax.portlet不存在

我试图发展与Grails的一个portlet(使用Liferay的爆,portlet和门户,Liferay的插件)。

我下面就http://grails.org/plugin/portlets教程,但是当我去生成的portlet视图,显示以下错误:

[localhost test]$ grails generate-portlet-views com.test.first 
| Compiling 129 source files. 
| Error Compilation error: startup failed: 
Compile error during compilation with javac. 
/home/portaldev1/.grails/2.2.0/projects/test/plugins/portlets-0.9.2/src/java/org/codehaus/grails/portlets/GrailsDispatcherPortlet.java:5: package javax.portlet does not exist 
import javax.portlet.*; 
^ 
/home/portaldev1/.grails/2.2.0/projects/test/plugins/portlets-0.9.2/src/java/org/codehaus/grails/portlets/GrailsDispatcherPortlet.java:10: cannot access javax.portlet.GenericPortlet 
class file for javax.portlet.GenericPortlet not found 

(These problems continue 68 more times) 

Note: Some input files use or override a deprecated API. 
Note: Recompile with -Xlint:deprecation for details. 
Note: Some input files use unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details. 
70 errors 


1 error 
[localhost test]$ 

我已经提到谷歌/堆栈溢出/ Groovy的论坛/ Liferay的论坛和我发现这个问题的唯一答案是将portlet-api-2.0.jar添加到CLASSPATH环境变量中。

我曾尝试将此行添加到我的.bash_profile:“CLASSPATH =/home/portletjar /”,并且仍然会出现这些错误。

我没有使用eclipse或其他ide。

请帮我解决这个问题!我也尝试通过手动定义.jar所在的类路径(使用javac -cp)来编译使用javax.portlet的java代码。

回答

0

你是怎么准确安装你的插件的?用grails install-plugin xxx?

检查在插件会话中是否在conf/BuildConfig.groovy中声明了依赖项。 应该是这样的句子:

  • 纂 “:门户,Liferay的:0.4”

希望它可以帮助 干杯

+0

是的,我用install-plugin xxx为全部三个(分解,portlet,portlet-liferay)。 我试图将该行添加到buildconfig,并发生同样的问题。工作构建配置应该是什么样子? – user2116896 2013-03-01 19:17:45

+0

嗨,我试过插件,它似乎是过时的。最后一次更新是2009年6月。它解释了为什么他们不使用Grails 2.2。 我想你可能会在Jira上打开一张票,或者克隆插件来升级它 – bouquetf 2013-03-04 13:55:16

1

添加portlet的API-2.0罐子的/ lib目录目录似乎已经解决了这个问题!

+0

非常感谢您发布您的答案!这非常有帮助。 – grantmcconnaughey 2013-10-10 16:53:04