使用命令行将Closure Compiler包含到asp.net应用程序中

我有一个方法,我在一个aspx的PageLoad上调用(该方法稍后将被移动到AppCode目录中的文件),如下所示:

public partial class PagesSystem_TestGCC : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string strCmdText; strCmdText = "/K java -jar c:\\TheSite\\compiler.jar --js c:\\TheSite\\JSTest\\hello.js --js_output_file c:\\TheSite\\JSTest\\hello-compiled.js"; System.Diagnostics.Process.Start("CMD.exe", strCmdText); } } 

问题是这种方法依赖于使用计算机的文件系统。 我需要在代码中进行哪些更改才能使其与应用程序的根一起使用?

谢谢。

命令行窗口闪烁然后关闭,没有机会看到发生了什么

使用"cmd.exe /K ...而不是"cmd.exe /C ...

我认为您的实际问题是访问权限或ASP.Net用户的PATH中没有java.exe

使用此代码:

 System.Diagnostics.Process.Start( new ProcessStartInfo { FileName = "java.exe", Arguments = "-jar compiler.jar --js JSTest/hello.js --js_output_file JSTest/hello-compiled.js", WorkingDirectory = HttpRuntime.AppDomainAppPath, UseShellExecute = false } ); 

打开Windows命令提示符并在那里运行失败的命令,这样你就有机会记下确切的错误。 很可能JAVA环境变量不到位。