[英]Classpath problems:running ant java task with Maven Antrun plugin
[英]Problems with classpath with JSP using maven exec:java plugin under Windows
我正在尝试从main(...)
运行一个Jetty Web框架,该框架加载一个Spring Web上下文,该上下文在运行时加载JSP。 在OSX和Linux上使用mvn exec:java
从命令行运行时效果很好。 但是在运行Cygwin的Windows上,我无法使其完全正常运行。
应用程序已加载,并且Web上下文似乎构建良好。 但是,当呈现第一个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
变量是否正确设置。 tools.jar
文件确实存在于%JAVA_HOME%/lib/tools.jar
。 JAVA_HOME
路径在Program Files
,我担心该空间,但是用Progra~1
替换它似乎也不起作用。 mvn
shell脚本以及DOS下的mvn.bat
脚本,但是两者都失败了。 还有其他人有这个问题吗? 我是否需要更改classpath
,以某种方式专门向tools.jar
添加依赖项? 也许在pom.xml
添加了一些内容? 提前致谢。
com.sun.tools.javac.Main不在类路径中。
我不确定这是否是正确的解决方案,但是我从以下答案中找到了解决方法:
结合使用javah maven-antrun-plugin和jdk 1.7,classes.jar成为tools.jar
我还利用了以下答案: JDK tools.jar作为maven依赖项
我最终在pom中添加了Windows的特定依赖项,该依赖项专门为类路径添加了tools.jar
:
<profiles>
<profile>
<id>windows</id>
<activation>
<activeByDefault>false</activeByDefault>
<os>
<family>windows</family>
</os>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
仅当OS系列是windows
才添加依赖项。 系统路径../
在路径中是必需的,因为由于某种原因${java.home}
最终以$JAVA_HOME/jre
结尾。 该version
似乎无关紧要,因为1.7和1.6似乎可行。
希望这对其他人有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.