hi all
when I do cactus:test I meet this problem(Couldn't find tools.jar (needed
for JSP compilation)).Vincent say it's a bug of cactus then I see the source
code of cactus1.7 i use.
find code in AbstractJavaContainer.java from line 184~201
//--------------------------------------------------------------------------------------------
/**
* Returns the file containing the JDK tools (such as the compiler). This
* method must not be called on Mac OSX as there is no tools.jar file on
* that platform (everything is included in classes.jar).
*
* @return The tools.jar file
* @throws FileNotFoundException If the tools.jar file could not be found
*/
protected final File getToolsJar() throws FileNotFoundException
{
String javaHome = System.getProperty("java.home");
File toolsJar = new File(javaHome, "../lib/tools.jar");
if (!toolsJar.isFile())
{
throw new FileNotFoundException(toolsJar.getAbsolutePath());
}
return toolsJar;
}
//--------------------------------------------------------------------------------------------
this is a simple test code for getToolsJar()
//---------------------------------TestGetTool.java-----------------------------------------------------
/**
*sheep test cactus's getToolsJar (temp delete when test over)
*/
import java.io.File;
import java.io.FileNotFoundException;
public class TestGetTool
{
protected File getToolsJar() throws FileNotFoundException
{
String javaHome = System.getProperty("java.home");
System.out.println("java.home:" + javaHome);
File toolsJar = new File(javaHome, "../lib/tools.jar");
if (!toolsJar.isFile())
{
throw new FileNotFoundException(toolsJar.getAbsolutePath());
}
return toolsJar;
}
//sheep: a simple test for getToolJar
public static void main(String[] args) throws FileNotFoundException
{
//System.out.println("getProperty(java.home):" +
System.getProperty("java.home"));
System.out.println(new TestGetTool().getToolsJar());
}
}
//--------------------------------------------------------------------------------------------
the result is:
//--------------------------------------------------------------------------------------------
java.home:C:\Program Files\Java\jre1.5.0_02
Exception in thread "main" java.io.FileNotFoundException: C:\Program
Files\Java\jre1.5.0_02\..\lib\tools.jar
at TestGetTool.getToolsJar(TestGetTool.java:19)
at TestGetTool.main(TestGetTool.java:28)
//--------------------------------------------------------------------------------------------
here cactus want to find tools.jar in C:\Program
Files\Java\jre1.5.0_02\..\lib\tools.jar
but the real path is : C:\Program Files\Java\jre1.5.0_02\..\lib\tools.jar
cactus plug for maven is the latest.. : maven plugin:download
-DartifactId=cactus-maven -DgroupId=cactus -Dversion=1.7
what should I do for this problem?
thanks
sheep