diff --git a/fc-java-common/History.md b/fc-java-common/History.md
index 47766f8..6d64193 100644
--- a/fc-java-common/History.md
+++ b/fc-java-common/History.md
@@ -1,3 +1,8 @@
+2.2.2 / 2019-10-18
+==================
+
+ * Fix load code from oss path error
+
2.2.1 / 2019-09-20
==================
diff --git a/fc-java-common/pom.xml b/fc-java-common/pom.xml
index a655974..8e95fef 100644
--- a/fc-java-common/pom.xml
+++ b/fc-java-common/pom.xml
@@ -5,7 +5,7 @@
4.0.0
com.aliyun.fc.runtime
fc-java-common
- 2.2.1
+ 2.2.2
8.5.20
1.8
diff --git a/fc-java-common/src/main/java/com/aliyun/fc/runtime/FcAppLoader.java b/fc-java-common/src/main/java/com/aliyun/fc/runtime/FcAppLoader.java
index c8f425d..50f1512 100644
--- a/fc-java-common/src/main/java/com/aliyun/fc/runtime/FcAppLoader.java
+++ b/fc-java-common/src/main/java/com/aliyun/fc/runtime/FcAppLoader.java
@@ -74,6 +74,11 @@ public void loadCodeFromLocalProject(String appFilePath) {
@Override
public Boolean loadCodeFromOSS(String ossEndPoint, String bucket, String appName) {
appFilePath = downloadPath + File.separator + appName;
+ File appFile = new File(appFilePath);
+ File appDirFile = appFile.getParentFile();
+ if(! appDirFile.exists()) {
+ appDirFile.mkdirs();
+ }
try {
OSSClient ossClient = null;
@@ -92,7 +97,7 @@ public Boolean loadCodeFromOSS(String ossEndPoint, String bucket, String appName
}
GetObjectRequest request = new GetObjectRequest(bucket, appName);
- ossClient.getObject(request, new File(appFilePath));
+ ossClient.getObject(request, appFile);
} catch (Exception e) {
return false;
}