Если я правильно понимаю, студенты будут программировать в рамках проекта в IntelliJ?
Затем вы можете получить путь к проекту, над которым они работают, используя AnActionEvent event
.
* 1005.*
Вы можете использовать это, чтобы отправить всю папку src на ваш компьютер и делать то, что вам нужно там делать?
Но, это также звучит так, как если бы вы хотели, чтобы студенты проводили тестфункции на их стороне через плагин.В этом случае, один из известных мне вариантов - снова использовать project.getBasePath()
или заставить их выбрать файл с помощью графического интерфейса, а затем использовать ProcessBuilder
для компиляции, запуска, тестирования и т. Д. Их классов Java.Таким способом вы можете запустить любую команду Windows / shell и перенаправить вывод в IDE или в собственное окно инструментов.
public void actionPerformed(AnActionEvent event) {
Project project = event.getProject();
String projectBasePath = project.getBasePath();
ProcessBuilder pb = new ProcessBuilder();
pb.directory(projectBasepath);
pb.command("cmd", "/k", "javac src\*.java")
pb.redirectErrorStream(true);
Process process = pb.start();
BufferedReader reader = new BufferedReader(newInputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
int exitCode = process.waitFor();
System.out.println("\nExited with error code : " + exitCode);
... // anything else you need to do
}
Дайте мне знать, если это имеет смысл - может быть, я могу помочь вам больше, если выдайте мне более конкретные вопросы.