org.apache.jasper.JasperException:PWC6345:调用javac时出错。需要完整的JDK(不仅仅是JRE)

时间:2013-07-09 18:48:00

标签: eclipse glassfish eclipse-juno glassfish-4

在此发布此问题之前:我抬头看了

1)Glassfish 3.1.2.2 in IDEA 11.1.4: "PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required"

2)How do I specify the jdk for a glassfish domain?

3)http://alvinalexander.com/blog/post/java/fixing-glassfish-jdk-path-problem-solved

4)https://www.java.net//node/702274

5)"PWC6345: There is an error in invoking javac." error when using Jetty WTP plugin to deploy a JSP page on Jetty

我可以在eclipse中打开glassfish管理窗口,但是当我尝试运行我的项目时,我遇到了这个恼人的错误: “org.apache.jasper.JasperException:PWC6345:调用javac时出错。需要完整的JDK(不仅仅是JRE)”

我看了上面列出的帖子,但在我的情况下没用...我有我的java环境设置..

但是他们没有解决我的问题。我仍然得到标题中的错误,已经在类似的问题上发布了一个问题,但没有我需要的答案....

10 个答案:

答案 0 :(得分:4)

这可能与m2clipse插件遇到的问题相同:你必须告诉eclipse在启动Eclipse时使用JDK。仅在Window> Preferences上设置JDK / JRE无效。

例如,添加以下参数:

C:\eclipse\eclipse.exe -vm C:\Java\jdk1.6.0_20\bin\javaw

或编辑eclipse.ini文件以添加vm参数。

有很多可能性。检查此链接以获得正确答案:m2eclipse: Eclipse is running in a JRE, but a JDK is required

答案 1 :(得分:4)

对于那些在这里找不到答案的人......

对我来说,当我在Glassfish上重新部署项目一段时间并且服务器遇到PermGem时出现了这个问题。此消息首先显示,有时甚至不显示。重启服务器有帮助。

答案 2 :(得分:1)

有这个问题,意识到问题实际上是我的glassfish实例而不是eclipse,当我向远程glassfish服务器部署相同的战争并且它部署得很好。所以我去了glassfish文档并搜索了如何更改域名的jdk,这对我有用。

asadmin set "server.java-config.java-home=path-to-java-home"

答案 3 :(得分:1)

解决方案很简单

您需要执行的所有步骤如下: 先决条件: 确保必须在环境变量(本地变量和系统变量)中设置JAVA_HOME,JRE_HOME,Path,并在cmd中进行验证

  1. 在Eclipse / STS / DeveloperStudio中,转到Windows->首选项-> Java->已安装的JRE
  2. 删除旧的JRE_1.8.012并添加新的i,e:添加->标准VM-> JRE主页:C:\ Program Files \ Java \ jdk1.8.0_121(给出JDK路径而不是JRE)-> JRE名称: jdk1.8.0_121->完成
  3. 然后选择,列出的JDK->应用并关闭
  4. 转到Server(Tomcat)->运行时环境->验证所选的运行时JRE应该为jdk1.8.0_121(以我为例)
  5. 重新启动Eclipse,重新启动服务器

答案 4 :(得分:0)

您需要使用JDK而不是JRE运行Glassfish。我不完全确定你的Java环境设置是什么意思,但它不适用于此。 Eclipse正在运行Glassfish服务器,你告诉它使用你告诉我使用的Java Runtime。

答案 5 :(得分:0)

如果您像我一样尝试在独立容器中运行应用程序,而不是在Eclipse环境中运行。您需要通过管理控制台更改glassfish上的JVM常规设置,然后重新启动glassfish

答案 6 :(得分:0)

我将此行添加到eclipse文件夹中的“eclipse.ini”文件中。

-vm

C:\ Program Files \ Java \ jdk1.8.0_131 \ bin \ javaw.exe

我也改变了eclipse中的JRE路径

windows - >偏好 - > java - >已安装的JRE

并提供了jdk的路径

C:\ Program Files \ Java \ jdk1.8.0_131

我的问题已解决。

由于

答案 7 :(得分:0)

我遇到了同样的问题并解决了它。我的日食是使用jre而不是jdk。我只是改变了jre。 转到Window-> Preferences-> Java-> Installed JRE。 删除条目并添加到jdk的bin文件夹的路径。 添加后不要忘记检查你的jdk,然后应用并关闭windows.Now程序应该运行。

答案 8 :(得分:0)

我遇到了同样的问题,这是由于我忘记将JAVA_HOME设置为指向环境变量中正确的Java安装路径而导致的错误。

答案 9 :(得分:0)

尝试将./glassfish/config中的可用AS_JAVA添加到asenv.bat或/和asenv.conf