리눅스 톰캣 환경변수 추가 Spring boot 사용하면서 프로퍼티를 환경(로컬, 개발, 리얼)으로 나누는 과정에서 변수 선언이 필요함. 기본 파일은 appapplication.properties 이지만 프로퍼티를 나누는 작업을 진행하면 (이런 작업을 profile 이라고 한다.) //이런식으로 나눠지게 된다. appapplication-local.properties appapplication-dev.properties 이클립스 실행의 경우 UI로 변수 입력이 지원되서 상관없지만 리눅스 WAS의 경우 변수를 추가해주어야 한다. 그중 tomcat 변수 추가 설정은 아래와 같이 한다. 1. 톰캣폴더 이동 2 톰캣폴더/bin 이동 3. setenv.sh 파일 생성 4. setenv.sh 파일 내용 추가 export JAVA_OPTS=".. SERVER/TOMCAT 5년 전
톰캣 파일 생성 권한 umask 변경 톰캣에선 기본 보안 설정이 정해져 있다 . 폴더의 경우 777(rwx) 파일의 경우 666(rwx) 톰캣 권한 변경의 경우 vi catalina.sh if [ -z "$UMASK" ]; then UMASK="0022" fi umask $UMASK #위 UMASK="0022" 구문을 변경 변경 공식은 폴더 777 - 022 = 755 파일 666 - 022 = 644 이렇게 된다. 파일의 경우 실행 권한이 필요한데, 톰캣의 기본 설정으로는 실행권한을 줄수 없었다. 그래서 웹에서 생성하는 파일은 자바로 실행권한을 직접 변경해줬다. //권한 변경할 파일, 권한 코드 private static void permissionCode(File file, int code) { String cmd = "chmod " +.. SERVER/TOMCAT 5년 전
@Value 안먹을때 Spring boot Properties 를 가져오는 어노테이션인 value 가 안먹는 경우가 있어서 다른 우회 코드를 찾아 사용 //선언 @Autowired private Environment env; //사용 env.getProperty("property"); JAVA/TROUBLE SHOOTING 5년 전
노트북 무선 네트워크 핫스팟 만들기 - 사이트 접속 불가 https://dev-elop.tistory.com/72 노트북 무선 네트워크 핫스팟 만들기 만드는 순서 1. 지원 여부 확인 - 호스트된 네트워크 지원 = 예 netsh wlan show drivers 2. 핫스팟 네트워크 설정 netsh wlan set hostednetwork mode=allow ssid=이름 key=비밀번호 keyUsage=persistent 2-1. ke.. dev-elop.tistory.com 핫스팟 만든 이후 사이트 접속 불가시 DNS 설정 확인 1. 네트워크 연결 제어판 이동 2. 핫스팟 무선 네트워트 - 속성 - TCP/IPv4 더블클릭 3. 기본 설정 DNS 서버 - 8.8.8.8 4. 보조 DNS 서버 - 8.8.4.4 위 설정은 구글 DNS 설정이니 다른 DNS 사용.. PROJECT/TROUBLE SHOOTING 5년 전
노트북 무선 네트워크 핫스팟 만들기 만드는 순서 1. 지원 여부 확인 - 호스트된 네트워크 지원 = 예 netsh wlan show drivers 2. 핫스팟 네트워크 설정 netsh wlan set hostednetwork mode=allow ssid=이름 key=비밀번호 keyUsage=persistent 2-1. key 값이 에러나는 경우가 있는데 key는 8자리이다! 3. 핫스팟 공유 시작 netsh wlan start hostednetwork 3-1. 유선만 연결된 경우 네트워크 연결 제어판 이동 로컬 영역 연결 - 속성 - 공유 - 다른 네트워크 허용 - 무선 네트워크 연결2(ssid 이름) 4. 공유 종료 netsh wlan stop hostednetwork netsh wlan set hostednetwork mode=disa.. PROJECT/TOOL 5년 전
Spring Boot 배포시 properties 못 찾을때 @PropertySource("/url.properties") 위와 같이 설정했는데 배포시에 찾지 못하는 경우 @PropertySource("classpath:/url.properties") 이렇게 변경. 해당 파일은 src/main/resources/여기위치 PROJECT/TOOL 5년 전
경고 [main] org.apache.catalina.webresources.Cache.getResources [/]에 위치한 리소스를 웹 애플리케이션 [{1}]을(를) 위한 캐시에 추가할 수 없습니다. 왜냐하면 만료된 캐시 엔트리들을 없애버린 이후에도 여.. 톰캣 캐쉬 부족시 tomcat/conf/context.xml 파일 아래 내용 추가 SERVER/TOMCAT 5년 전
Spring Boot 배포파일 생성시 JSP 추가 방법 1. SpringBootServletInitializer 상속하여 configure 구현 -> 이건 요즘 기본으로 되어있다. 2. pom.xml 수정 war 3. dependency 추가 org.springframework.boot spring-boot-starter-tomcat provided jsp 파일이 war에 추가로 배포된다. PROJECT/TOOL 5년 전
java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext 해당 프로젝트 빌드 클린. 해당 WAS 빌드 클린. 재구동 - 완료 JAVA/TROUBLE SHOOTING 5년 전
org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet 낮은 버전의 JAVA에서 컴파일한 파일을 높은 JAVA버전에서 사용하려고 할때 나는 에러. 주로 낮은 버전에서 -> 1.8 로 넘어갈때 자주 나온다고 한다. 1. pom.xml JAVA -> 1.7 변경 2. 프로젝트 -> Properties -> Project Facets -> JAVA 1.7 변경 버전 다시 낮춰 해결 JAVA/TROUBLE SHOOTING 5년 전
Java compiler level does not match the version of the installed Java project facet properties > Project Facets > Java 본인이 사용하고 있는 JAVA 버전으로 맞추기 JAVA/TROUBLE SHOOTING 5년 전
JPA orphanRemoval 용도 @OneToMany(cascade = {CascadeType.ALL}, fetch = FetchType.EAGER, orphanRemoval = true) 보통 1:N 관계 테이블 설정할때 저렇게 옵션을 추가해준다. 자식 엔티티의 변경이 있다면 JPA 에서 자식엔티티의 수정은 insert update update delete 순으로 이어지는데 변경된 자식을 먼저 insert 하고 기존의 자식을 NULL로 update 한다. 그리고 orphanRemoval 옵션을 true 로 하면 기존 NULL처리된 자식을 DELETE 한다. PK(JoinColumn)값이 NULL로 변한 자식은 고아객체라고 하여 연결된 점이 없는 객체이다. orphanRemoval옵션은 바로 이 고아객체를 삭제해주는 역활을 한다. ORM/JPA 5년 전
A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance oneToMany save() 호출할때 위와 같은 에러 발생. one 관계 - Entity 에서 Many 관계 테이블 정의를 아래와 같이 했을텐데 @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) @JoinColumn(name="userSeq") private Collection authorities = new ArrayList(); saveAll() 호출하기 전 아래와 같이 추가 해주면 된다. oneIntance.getAut.. JAVA/TROUBLE SHOOTING 5년 전
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role JPA ontToMany 속성일 경우에 발생했던 에러 @OneToMany(fetch = FetchType.EAGER) fetch 추가로 해결. JAVA/TROUBLE SHOOTING 5년 전
jquery submit 이벤트 이상하게 먹을때 button submit 생성한뒤에 Ajax submit 이벤트를 걸면 ajax 타자마자 바로 화면이 갱신되는데 아래와 같이 e.preventDefault(); 추가 해놓으면 이벤트가 정지 되기 때문에 추후 코드가 잘 실행된다. $("form").submit(function(e){ e.preventDefault(); //추후 코딩 } JAVASCRIPT/TROUBLE SHOOTING 5년 전
JPA oneToMany 단방향 관계 pk is not null 에러 처리 1. one 관계 테이블 생성 - PK값을 Mysql auto_increment로 지정 2. many 관계 테이블 생성 - FK값(one 관계 테이블 PK)이 존재한다. 3. 단방향 이므로 one 관계 Entity 생성 할때 아래와 같이 추가한다. @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) @JoinColumn(name="pk") private Collection manyTableEntity; 4. many 관계 Entity 는 FK값을 넣지 않는다. PK 칼럼을 선언하지 않는다. 5. 값을 전부 넣고 Repository 작성후 Save() 를 호출 하면 many 관계 테이블 insert 시에 not null 에러 발생 java.sql.SQ.. JAVA/TROUBLE SHOOTING 5년 전
Spring Boot JPA 로그 설정 application.properties 설정 #jpa 로그 보기 spring.jpa.show-sql=true #jpa 로그 보기 좋게 보기 spring.jpa.properties.hibernate.format_sql=true #jpa ? 부분 보이기 logging.level.org.hibernate.type.descriptor.sql=TRACE ORM/JPA 5년 전
JPA No identifier specified for entity 해당 에러는 Entity 객체에 @id 가 하나도 없어서 발생하는 에러. PK에 해당하는 객체에 어노테이션을 하나 추가해준다. ORM/JPA 5년 전
JPA @IdClass 란? JPA 어노테이션 @IdClass 는 복합키 사용을 위해 쓴다. 칼럼을 여러개 묶어서 사용하는 복합키는 사용하기 전에 클래스를 별도로 하나 만들고 (=VO 클래스 하나 생성) 사용하는 테이블 상단에 해당 어노테이션을 적어놓고 사용. ORM/JPA 5년 전
JPA Entity CURRENT_TIMESTAMP 생성법 @Column(name = "timestamp", nullable = false, updatable = false, insertable = false, columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") public Timestamp timestamp; 위와 같이 만들면 CURRENT_TIMESTAMP 형식으로 만들어진다. ORM/JPA 5년 전