문제: ./gradlew build를 하려고 했는데

Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)' 

에러가 터짐.

 

 

1. java home 설정 보기

 

Setting에서 java home으로 검색후 json을 연다

 

{
    "java.home": "C:\\Program Files\\ojdkbuild\\java-11-openjdk-11.0.7-1", //확장자 적용 jdk 경로
    "java.requirements.JDK11Warning": false,
    "java.configuration.checkProjectSettingsExclusions": false,
    "git.ignoreMissingGitWarning": true,
    "workbench.editor.enablePreview": false,
    "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -javaagent:\"c:\\Users\\ACID\\.vscode\\extensions\\gabrielbb.vscode-lombok-1.0.1\\server\\lombok.jar\"",
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "java.semanticHighlighting.enabled": true,
    "git.autofetch": true,
    "java.configuration.runtimes": [
        {
            "name": "JavaSE-1.8",
            "path": "C:\\Program Files\\ojdkbuild\\java-1.8.0-openjdk-1.8.0.252-2",
            "default":  false
          }
    ],
    "java.project.importOnFirstTimeStartup": "automatic",
    "java.refactor.renameFromFileExplorer": "autoApply",
    "workbench.startupEditor": "newUntitledFile",
    "concourse.ls.java.home": "",
    "guides.enabled": false,
    "editor.fontSize": 15
    }

이런식으로 java home 설정이 제대로 되어 있어야 한다

 

2. gradle 설정

 

sourceCompatibility = '11'

본인은 11버전을 쓰는데 이게 되어 있어야 한다.

 

3. 환경변수

 

본인의 경우 이게 문제였는데 환경변수가 꼬여있어서 1.8버전을 java에서 인식중이었다.

 

환경변수를 건드려서 제대로 설정해 주니

 

제대로 인식하면서 문제가 해결되었다.

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

크롬에서는 그럴일이 없지만 팝업링크 Internet Explorer에서는 클릭시 팝업창은 열렸지만 메인화면 아래에서 열려서 

안열렸다고 착각하게 만드는 일이 있다.

이를 방지하는 JavaScript 테그이다.

 

var pop = window.open(theURL,winName,features);
pop.focus();

pop.focus() 에서 강제로 창을 위로 띄워준다.

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

실무에서 트랜잭션을 써야 할 일이 있었는데 문제는 finally가 붙으면 Transaction이 동작 하지 않는 점이 있었다.

fanally에서 msg를 return하는 형태였는데 불가능해서 찾아보니 Exception에 msg를 넣으면 될 문제였다.

String msg = x + "값에서 에러가 발생했습니다.";
throw new Exception(msg);

Exception을 발생시키는 건 다들 알테고, 거기다가 msg를 넣는다.

 e.printStackTrace();
 Map <String, Object> result = new HashMap<>();
 result.put("flag" , "N");
 result.put("msg", e.getMessage());
 return new ResponseEntity<>(result , HttpStatus.OK);

컨트롤러에서 Map에 값을 넣고 return 해주면 끝. 

 

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요

업로드 용량이 nginx에서 늘려도 안되는 이유를 찾다보니 다음과 같이 적어야 한다

application.yaml 에 아래를 넣는다.

spring:
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB

출처: tomcat - How to set the max size of upload file - Stack Overflow

블로그 이미지

LunaStratos

Stratosphere Stream

댓글을 달아 주세요