0

現在のプロジェクトのパスを取得する方法: これは、maven archetype で作成された動的 Web アプリケーションです。

スクリプトレット コードで jsp ページのパスを取得したいのですが、別のコードを使用しましたが、常に eclipse のパス (C:\Users\Amira\Desktop\eclipse\eclipse) または Web アプリケーションのパスを取得しています。 tomcat ((C:\software\apache-tomcat-7.0.28\apache-tomcat-7.0.28\wtpwebapps\TestProjectUI)

しかし、ワークスペース内のプロジェクトのパスが必要です: C:\Users\Amira\junoWorkspace\TestProjectUI

任意のアイデアをいただければ幸いですありがとう

これが私のjspです:

<body>

<%
if (request.getParameter("btnSubmit") != null) //btnSubmit is the name of your button,not id of that button.
{

    String className = request.getParameter("testclass");
    System.out.println(className);
    String[] command = {"CMD", "/C", "mvn -Dtest=" + className + " test"};
    ProcessBuilder probuilder = new ProcessBuilder(command);

    //You can set up your work directory
    probuilder.directory(new File("C:\\Users\\Amira\\junoWorkspace\\TestProjectUI"));

    Process process = probuilder.start();

    //Read out dir output
    java.io.InputStream is = process.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    String line;
    System.out.printf("Output of running %s is:\n", Arrays.toString(command));
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }

    //Wait to get exit value
    try {
        int exitValue = process.waitFor();
        System.out.println("\n\nExit Value is " + exitValue);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
%>

        <html:file properties="tonFichier" name="tonForm"/>


        <p>   Please specify a Test :<br>
            <input type="file" name="testclass" size="40" >
        </p>
        <div>
            <input type="submit" id="btnSubmit" name="btnSubmit" value="Execute Test"/>

        </div>
    </form>
</body>
4

1 に答える 1

1

このような問題が発生するたびに、すべてを印刷しSystem.getProperties()て、必要な情報が含まれているものがないかどうかを確認します。Eclipse によって提供される情報はプロパティを介してのみ取得されるため、これがおそらくここで実行できる最善の方法です。提供されたプロパティのいずれかに情報がない場合は、起動構成の一部としてそれを自分で提供できます。起動構成のworkspace_locもので変数を使用できます。

于 2012-07-12T07:16:40.800 に答える