diff --git a/deploy/aws/README.md b/deploy/aws/README.md
index 3949d0e6..15b35e14 100644
--- a/deploy/aws/README.md
+++ b/deploy/aws/README.md
@@ -9,6 +9,7 @@ This project contains source code and supporting files for a serverless applicat
The application uses several AWS resources, including Lambda functions and an API Gateway API. These resources are defined in the `template.yaml` file in this project. You can update the template to add AWS resources through the same deployment process that updates your application code.
See the [AWS SAM developer guide](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html) for deployment, usage and an introduction to SAM specification, the SAM CLI, and serverless application concepts.
+[The AWS Toolkit Plugin](https://aws.amazon.com/de/intellij/) helps build the Lambda function without errors.
## Interface
diff --git a/deploy/aws/java11Exec/pom.xml b/deploy/aws/java11Exec/pom.xml
index 6cb880ad..8d27012e 100644
--- a/deploy/aws/java11Exec/pom.xml
+++ b/deploy/aws/java11Exec/pom.xml
@@ -38,10 +38,10 @@
junit
4.13.2
-
+
org.hamcrest
- hamcrest-core
+ hamcrest
3.0
diff --git a/deploy/aws/java11Exec/src/main/java/poseidon/App.java b/deploy/aws/java11Exec/src/main/java/poseidon/App.java
index 7beb1103..a81a0973 100644
--- a/deploy/aws/java11Exec/src/main/java/poseidon/App.java
+++ b/deploy/aws/java11Exec/src/main/java/poseidon/App.java
@@ -95,6 +95,8 @@ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayV2WebSocketEve
ProcessBuilder pb = new ProcessBuilder(cmd);
pb.directory(workingDirectory);
+ Map env = pb.environment();
+ env.put("CLASSPATH", ".:/var/task/lib/org.hamcrest.hamcrest-3.0.jar:/var/task/lib/junit.junit-4.13.2.jar:" + env.get("CLASSPATH"));
Process p = pb.start();
InputStream stdout = p.getInputStream(), stderr = p.getErrorStream();
this.forwardOutput(p, stdout, stderr);
diff --git a/deploy/aws/java11Exec/src/main/java/poseidon/SimpleMakefile.java b/deploy/aws/java11Exec/src/main/java/poseidon/SimpleMakefile.java
index 7e5a16c6..4e86c330 100644
--- a/deploy/aws/java11Exec/src/main/java/poseidon/SimpleMakefile.java
+++ b/deploy/aws/java11Exec/src/main/java/poseidon/SimpleMakefile.java
@@ -71,8 +71,6 @@ private void parseRules(String makefile) {
.map(s -> s.startsWith("@") ? s.substring(1) : s)
.map(s -> s.contains("#") ? s.substring(0, s.indexOf("#")) : s)
.filter(s -> !s.isEmpty())
- .map(s -> s.replaceAll("/usr/java/lib/hamcrest-core-1\\.3\\.jar", "/var/task/lib/org.hamcrest.hamcrest-core-1.3.jar"))
- .map(s -> s.replaceAll("/usr/java/lib/junit-4\\.13\\.jar", "/var/task/lib/junit.junit-4.13.2.jar"))
.toArray(String[]::new);
rules.put(ruleName, trimmedCommands);
diff --git a/deploy/aws/java11Exec/src/test/java/poseidon/SimpleMakefileTest.java b/deploy/aws/java11Exec/src/test/java/poseidon/SimpleMakefileTest.java
index f3679410..18973605 100644
--- a/deploy/aws/java11Exec/src/test/java/poseidon/SimpleMakefileTest.java
+++ b/deploy/aws/java11Exec/src/test/java/poseidon/SimpleMakefileTest.java
@@ -39,8 +39,8 @@ public class SimpleMakefileTest {
static final String SuccessfulMakefileWithAssignments = Base64.getEncoder().encodeToString(
("test:\n" +
- "\tjavac -encoding utf8 -cp .:/usr/java/lib/hamcrest-core-1.3.jar:/usr/java/lib/junit-4.13.jar ${FILENAME}\n" +
- "\tjava -Dfile.encoding=UTF8 -cp .:/usr/java/lib/hamcrest-core-1.3.jar:/usr/java/lib/junit-4.13.jar org.junit.runner.JUnitCore ${CLASS_NAME}\n"
+ "\tjavac -encoding utf8 ${FILENAME}\n" +
+ "\tjava -Dfile.encoding=UTF8 ${CLASS_NAME}\n"
).getBytes(StandardCharsets.UTF_8));
static final String SuccessfulMakefileWithComment = Base64.getEncoder().encodeToString(
@@ -126,8 +126,8 @@ public void sucessfullMakeWithAssignments() {
SimpleMakefile make = new SimpleMakefile(files);
String cmd = make.parseCommand(command);
- assertEquals("javac -encoding utf8 -cp .:/var/task/lib/org.hamcrest.hamcrest-core-1.3.jar:/var/task/lib/junit.junit-4.13.2.jar RecursiveMath-Test.java && " +
- "java -Dfile.encoding=UTF8 -cp .:/var/task/lib/org.hamcrest.hamcrest-core-1.3.jar:/var/task/lib/junit.junit-4.13.2.jar org.junit.runner.JUnitCore RecursiveMath", cmd);
+ assertEquals("javac -encoding utf8 RecursiveMath-Test.java && " +
+ "java -Dfile.encoding=UTF8 RecursiveMath", cmd);
} catch (NoMakefileFoundException | InvalidMakefileException | NoMakeCommandException ignored) {
fail();
}