1

我使用的是 java 6 SE,但是现在,当我使用 wsdl2java 时,它使用 EE 版本的 javax.xml.ws.Service 生成类,所以我已经下载并安装了 java 6 EE,但我不确定我应该在哪里更改我的 portlet 项目中从 SE 到 EE 的 java 版本。

我安装了一些 tomcats 和 glassfishes 服务器,包括从 oracle 网站下载的一个作为“java ee sdk”包(http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-sdk-6u3-downloads -439814.html)。我仍然不知道在哪里可以找到使用 EE api 而不是 SE api 的 jre。我用谷歌搜索应该有目录 glassfish3/jdk,但没有这样的。

我能找到的唯一 JRE 是 java 6 和 7 SE。

4

1 回答 1

1

终于找到了如何做到这一点。首先,您需要下载打包为 jar 的 java EE API(空签名,没有方法代码体)。它可以从 maven 中央仓库下载。

http://search.maven.org/ + javaee.api 给出http://search.maven.org/remotecontent?filepath=javax/javaee-api/6.0/javaee-api-6.0.jar的结果(我是使用 jre 6)。

现在我把那个jar 放到我的portlet 项目中。在日食中:

project settings -> Java Build Path -> Libraries -> Add External JARs...

然后在 java ee api jar 进入项目后,您必须将其移至 SE JRE 上方:

project settings -> Java Build Path -> Order and Export

就是这样。您可以使用 EE API 而不会出现任何错误。请记住,此 jar 仅提供空 API。此类应用程序必须部署到 java EE 驱动的服务器,很可能您希望将其部署到 glassfish(tomcat 默认使用 SE,而不是 EE,但是您可以设置 tomcat 以使用 EE)。

如果您像我一样需要 tomcat + EE(因为 liferay IDE 不能与 glassfish 一起使用),请查看该项目http://tomee.apache.org/downloads.html

注意:我还没有使用它,所以我无法确认它是否适用于 liferay 和 liferay IDE。

于 2013-02-04T10:55:05.483 回答