我正在尝试从main(...)
加载一个在运行时加载 JSP 的 Spring Web 上下文运行一个 Jetty Web 框架。mvn exec:java
这在 OSX 和 Linux 上使用命令行非常有效。但是在运行 Cygwin 的 Windows 上,我无法让它完全工作。
应用程序加载并且网络上下文似乎构建良好。然而,当第一个 JSP 页面被渲染时,JVM 会即时编译它并抛出以下错误/异常:
org.apache.tools.ant.BuildException: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:105) ~[gwt-dev-2.5.1.jar:na]
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:924) ~[gwt-dev-2.5.1.jar:na]
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:757) ~[gwt-dev-2.5.1.jar:na]
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382) [gwt-dev-2.5.1.jar:na]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:472) [gwt-dev-2.5.1.jar:na]
...
在发布之前,我已经进行了大量的网络搜索并尝试了很多事情。
JAVA_HOME
变量设置正确。- 我已经确定它指向 JDK 而不是JRE。该
tools.jar
文件确实存在于%JAVA_HOME%/lib/tools.jar
. JAVA_HOME
路径在里面Program Files
,我担心空间,但用它替换它Progra~1
似乎也不起作用。- 我们已经尝试过
mvn
Cygwin 下的 shell 脚本和mvn.bat
DOS 下的脚本,但都失败了。
还有其他人有这个问题吗?我是否需要更改classpath
以以某种方式专门添加依赖项tools.jar
?也许添加了一些东西pom.xml
?提前致谢。